Add SQLite backend

This adds a new SQLite backend to huey.
Unlike the previous attempt (#23) this version does not use or work with an in-memory database but requires a local file. An exception will be thrown if `:memory:` is passed as the `location` parameter.

It should be functionally equivalent to the Redis backend, although the performance will probably not be on par. All tests are passing and a quick adaption of the `simple` example (that is not included in this PR) ran just fine.

The `SqliteEventEmitter` object has, in addition to all the methods from `BaseEventEmitter`, a `read` method that waits for new messages to be emitted and returns them to the caller.

In my case, I am using it for a small web-application that is not distributed and is supposed to be run as a single executable across multiple platforms (including Windows), hence running a Redis server was not an option.