Allow Paths to be marked as readonly, mark all of the singletons as readonly, and deepcopy those Paths in tests that need to modify the path.
Add docstrings
Use with statement for assert_raises
Don't use 'with assert_raises', it doesn't work on Python 2.6
Merge pull request #2010 from mdboom/immutable-paths

Allow Paths to be marked as readonly