Add Support for Redis Sentinel.

Support for Redis Sentinel using redis.sentinel.SentinelConnectionPool. Can be configured either by specifiying the env vars SIXPACK_CONFIG_REDIS_SENTINEL_SERVICE_NAME and SIXPACK_CONFIG_REDIS_SENTINELS, or by specifying redis_sentinel_service_name and redis_sentinels on config.yml
Add newline at the end of config.py
update changes
bump version
throw error on casting float
Add support to non-ascii characters on experiment description
Handle None values returned by HGET
Merge pull request #106 from omenar/description-utf8

Add support to non-ascii characters on experiment description
Allow clients to choose an alternative

Useful for situations where you may not know if a test will be encountered until it's too late to rely on asynchronously choosing an alternative.

For example, when testing the behavior of a button, if `participate` is called when the button is setup, users that never click the button will dilute the results, thus requiring more participations to reach significance.
Merge pull request #116 from seatgeek/client-chosen-alternative

Allow clients to choose an alternative
bump version
Kill CSS file that was supposed to be removed in eb1233267cf93eff848f32cfaa517050ff0133e2
Stop hiding the interesting data on mobile
Refactor core logic into api.py

This has a few benefits:

* You can use sixpack within a python app with `sixpack.participate(...)`
* It's a bit easier to test
* It paves the way to add programmatically accessible analysis APIs which I'm thinking maybe a good way to address stuff like https://github.com/seatgeek/sixpack/pull/112
Merge pull request #117 from seatgeek/python-api

Refactor core logic into api.py
Be consistent about using properties
Start pulling out analysis code
Closes #118
Fix parameter ordering
bump version