Bolt API Refactor

Summary of changes:

**Bolts**:

* All bolt subclasses (including BatchingBolt) support three config parameters: ``AUTO_ACK``, ``AUTO_ANCHOR`` and ``AUTO_FAIL``. Params are fully documented in docstrings.
* BasicBolt/BasicBatchingBolt are now deprecated and should be removed next version
* BasicBolt and BasicBatchingBolt both just have all ``AUTO_*`` set to ``True``

**Unit tests**:

* Added ShellComponentTestCaseMixin which takes care of setUp and tearDown of subproceses for Bolts/Spouts during testing as well as performing initial handshake
* Tests themselves now specify ``COMPONENT`` which points to Python source for bolt or spout and then just the tests they're responsible for leading to just: test_bolt.py, test_batching_bolt.py and test_spout.py
* Added additional test cases that helped to spot a few bugs in Bolt/BatchingBolt

**Docs**:

* Added version info to docs since the API for Bolts is going to be breaking with this so we need to push out docs for 0.0.13 first, then merge this in, do a version bump and update readthedocs once on PyPI
+1 to setting everything to `True`. Seems like you want all of these `True` by default unless you have something special going on. Of course you could always write a class called `BasicBolt` and set all of these to `True`. Oh wait...