Major refactor of swiftly.client

Now it was swiftly.client's turn for renovations.

I split the Client class into a base class with two subclasses,
StandardClient and DirectClient. Should be easier to manage now
though it does mean any users of the Swiftly code library are almost
certainly going to have to update at the 2.00 release.

The clients themselves have changed only a little in their usage.
Existing users of the library should just have to alter how they
construct the client, but usage past that should remain the same.

The general utility functions that were in swiftly.client I moved
into swiftly.client.utils, though generate_temp_url and
get_trans_id_time are still importable from swiftly.client for
convenience.

I also split out LocalMemcache and NullLogger into their own files.

The ClientManager got altered a bit to reflect the change in the
Client construction.

I also moved IOManager to swiftly.cli.iomanager since it had little
to do with swiftly.client really.

The auth caching now uses a more secure method and should no longer
be prone to race conditions.

I think that's it. All the documentation should be up to date. Oh,
and I removed what tests there were because those haven't been being
maintained for quite some time. Another item for the TODO list.

Fixed #31