Added ipython, pyzmq & tornado to requirements

Not having ipython installed in the virtualenv can make headaches.

ipython also does not list its dependencies - pyzmq and tornado, so they had to be added too.
Removed Assert in favour of assert
Allows txt and csv to download without confirm
Merge pull request #381 from psav/fix_txt_csv

Allows txt and csv to download without confirm
Merge pull request #382 from psav/remove_Assert

Removed Assert in favour of assert
Add zmq devel package to allow zeromq to install
requirements has some hints for devel packages now
Merge pull request #383 from seandst/origin/ipython-requirements

Added ipython to requirements
sphinx-apidoc now generates module docs
Update docs to work better with sphinx-apidoc

Generally, this means removing module name headings, as apidoc already does that.
While I was in here, I also opportunistically linted and clarified some things
Move examples into their respective docstrings

a.k.a. "The one that psav might not like"

Having separate sections for the examples, particulary where the example
wasn't on the same page as the code documentation (accordion, toolbar),
isn't as handy as having the usage right next to the signature, and
Args/Returns/Raises blocks. This was made comical by using the
sphinx-apidoc generator.
Merge pull request #306 from seandst/docs-docs

Docs craziness...
Added modules generation files to gitignore
Swapped str for basestring...

...else unicode not matched
Added more Provider documentation
Merge pull request #387 from psav/fix_sd_elements

Swapped str for basestring...
Added new listnav element
Add fail_func parameter to wait_for()
Merge pull request #386 from psav/docs_update

Added more documentation
Merge pull request #385 from jkrocil/wait_for_add_refresh_func

Add fail_func parameter to wait_for()