* Add support for DVD writers and DVD+R/DVD+RW media.
- Create new writers.dvdwriter module and DvdWriter class
- Support 'dvdwriter' device type, and 'dvd+r' and 'dvd+rw' media types
- Rework user manual to properly discuss both CDs and DVDs
* Support encrypted staging directories (closes: 33).
- Create new 'encrypt' extension and associated unit tests
- Document new extension in user manual
* Support new action ordering mechanism for extensions.
- Extensions can now specify dependencies rather than indexes
- Rewrote cli._ActionSet class to use DirectedGraph for dependencies
- This functionality is not yet "official"; that will happen later
* Refactor and clean up code that implements standard actions.
- Split action.py into various other files in the actions package
- Move a few of the more generic utility functions into util.py
- Preserve public interface via imports in otherwise empty action.py
- Change various files to import from the new module locations
* Revise and simplify the implied "image writer" interface in CdWriter.
- Add the new initializeImage() and addImageEntry() methods
- Interface is now initializeImage(), addImageEntry() and writeImage()
- Rework actions.store.writeImage() to use new writer interface
* Refactor CD writer functionality and clean up code.
- Create new writers package to hold all image writers
- Move image.py into writers/util.py package
- Move most of writer.py into writers/cdwriter.py
- Move writer.py validate functions into writers/util.py
- Move writertests.py into cdwritertests.py
- Move imagetests.py into writersutiltests.py
- Preserve public interface via imports in otherwise empty files
- Change various files to import from the new module locations
* More general code cleanup and minor enhancements.
- Modify util/test.py to accept named tests on command line
- Fix rebuild action to look at store config instead of stage.
- Clean up xmlutil imports in mbox and subversion extensions
- Copy Mac OS X (darwin) errors from store action into rebuild action
- Check arguments to validateScsiId better (no None path allowed now)
- Rename variables in config.py to be more consistent with each other
- Add new excludeBasenamePatterns flag to FilesystemList
- Add new addSelf flag to FilesystemList.addDirContents()
- Create new RegexMatchList class in util.py, and add tests
- Create new DirectedGraph class in util.py, and add tests
- Create new sortDict() function in util.py, and add tests
* Create unit tests for functionality that was not explictly tested before.
- ActionHook, PreActionHook, PostActionHook, CommandOverride (config.py)
- AbsolutePathList, ObjectTypeList, RestrictedContentList (util.py)