Working on a backport of Python 3.3's exception hierarchy

Fileutils will then automatically raise exceptions from this hierarchy on 2.x etc.