Add locking and generic getpath methods
Correct commit API, and add lock to MMSystems
 correct misleading store name for file_store and fielname in comment.
Add threading to SafeFile, thread safety and locking methods to filestore
Multiple fixes to hgfile_store.
    - Fix subclass initialisation
    - Fix commit and revert calls to hg.
    - Add locking around commit.
    - Update (fix) tests to work with fixed subclass inhiertance
Two new SCM functions used by packSave code
remove reduce from test to clean up python3 warnings (a little)
 seperate out scm test into a mixin
Add scm + attrfile mixed in class for basic storage use
   this is the store format class use by pack format v.0
   Change EnumCategories not to report special dirs (eg, .hg)
commit of save/load code for pack files in MysteryMachine Libarary
  - MysteryMachine gets a base test `for the LibraryContext,
Fixes to MMParser for docutils 0.6.2
* fix to tests to cope with difference between mercurial 1.3 and 1.4
Add library level logging
   - change print states to logging.debug(..) type calls
   - add command line options to aid conigureing logging.
   - improve option parssing
   - Fix addition py3k warning no visible in the noise
remove additional debugging added for the previous commit
 Change to make get_app_option_object import modules.

    I'm not sure I like this change as it means some
    config options could end up voliating the principle
    of least surprise.

    A seperate --import mod1,mod2,mod3 switch is probably
    they way to go in the future.
Add Ui sub package and cli module with bpython based access cli
 Fix, to fixup bpython so that mercurial ui calls works

   - Actuall bug in bpython is #87 in bpython's bts.
   - Have reported to mercurial mailing list too.
 * Provide CreateNew method for making new systems
    remove old (empty) CreateNewSystem.
    add tests fro new function
 * Fix MMObject.__getitem__ to Raise a useful keyerror on unfound attributes
Document and make consistent the store interface.
    - Document the entry points in store/Base.py
      show which of the we expect to overridden.
    - Make dictstore consistent with documented spec.
    - Make filestore consistent with documented spec
    - Improve tests to find the variations fixed above