Load six from system package or bundled copy

This changes the way astropy.extern.six is imported. When astropy.extern.six is imported, the code in the module tries to import six from system packages. If is found and the version is equal or greater to the version of the bundled copy, then system six and six.moves are inserted in sys.modules, with the keys astropy.extern.six and astropy.six.moves

If it is not found or the version is lesser than the bundled copy, the bundled copy gets inserted in sys.modules instead.

With this PR, packagers of astropy do not have to worry about unbundling six, it will work with the system library if available.

Other bundled libraries will follow if this is approved