Notes on fileutils3
Initial work on FileSystem, MountPoint, and local subclasses
Add support for calculating disk usage on POSIX-based systems
Add a skeleton unmount function
Merge remote-tracking branch 'github/master'
Initial prototype attribute system (inspired by java.nio.file.attribute) and an implementation of ExtendedAttributes for local POSIX systems
Write PosixPermissions and add a local implementation, and a bit of refactoring.

It's now possible to read and write file modes with something like:

some_file.attributes[PosixPermissions].group.write = True
some_file.attributes[PosixPermissions].sticky = True
Note to self
Lots of changes

 * Additional documentation on attributes
 * Add a property to AttributeSet, copy_by_default, which subclasses can use to indicate if they should be copied by default
 * Add PosixPermissions.execute, a property that's True if any execute bits are set and False if none of them are; setting it to True sets all execute bits for which the corresponding read bit is set
 * Add a property, devices, to MountPoint, which is a list of instances of a new class, MountDevice
 * Add a property is_mountpoint to BaseFile
 * Implement PosixLocalFileSystem.child()
 * Implement part of PosixLocalMountPoint.unmount()
 * Rename _SSHConnection to SSHFileSystem
 * Move connect and from_transport from SSHFile to SSHFileSystem. I'll be writing replacement wrappers on SSHFile for backward compatibility.
 * Implement SSHFileSystem.child and SSHFileSystem.roots
 * Strip extra leading slashes from SSHFile
Documentation
Documentation changes, refactoring fileutils.ssh some more, and unmount mounts automatically when deleting directories containing them