Marketsense improv

These commits are improvements made after refactoring and working on [marketsense.io](http://marketsense.io).

- Add *decorators.py*.
    
- Add *twitter.py*, sync *setup.py* with *\_\_init\_\_.py*.
    
- Refactor of *ec2.py*, *ccouchdb.py* and *cache.py*.

    - *ec2.py*:
        - Add function `get_hostname`.
        - Fix bug terminated instances returned by `all()`. All instances were returned and not just those running.

    - *cache.py*:
        - Better host retrieval.
        - Remove the connection pool instantiation. Redis is already using a pool by default.
        - Fix incorrect environment variable name: REDIS_URL -> REDIS_HOST.

    - *ccouchdb.py*:
        - Add a `update_feed` function. Returns a continuous feed of update to a given database.
        - Can be called as a script to sync a design document written as a YAML file to a given database.
        - Add EC2 service finding capability.

    [#47442765]

- Pin dependencies in *setup.py* and *requirements.txt*.
    Add missing pusher requirement. Some package versions were updated in the process.

- Add a `count` function to *rqworker.py*.
    `count` returns the number of queued jobs to a Redis queue.
    Also add a log message stating that work has begun.