Beginning of 2.0.0 Rewrite

Re-Writing the module to be Object Oriented and more pythonic.

This commit holds the initiale KipptAPI object which allows you to authenticate with either
a user/pass or user/token combo. If a password is used to authenticate we immediately grab the
API token instead so as not to be passing the password around.

The KipptAPI can then call any other object, for example - The only one written in this commit -
the clips object; and of course a clips object has many clips.

Example use:

k = KipptAPI('my_username', 'my_password')

k.clips().all(limit=5)

k.clips().clip(12345)

k.clips().clip(12345).delete()
Adding Notifications class and account() method.

Adding the Notifications class for the /api/notifications endpoint. This supports
retrieving a list of notifications as well as marking them all read (However marking
them read is currently un-supported, yet the documentation has it added)

Also adding an account() method to the KipptAPI object for return details about
your own users account.
Adding search method to clips object.
Adding List object

* Adding code to support the /api/lists endpoint.
Adding User object.