port changes from IPI

- scheduler has been rewritten, simplified, and now there is only one
  Scheduler. Since multithreading has never worked very well, this new
  scheduler focuses on single threaded and asynchronous support.  It
  is also written to support multi threading in the near future.
  Since python is strictly single threaded, and GIL is evil, we are
  not supporting multiple threads from python.

- docs are still not rectified between the two forks.

- build system is left mostly unchanged.
tweaks based on peer review.
removal of a few obsolete scheduler options
Merge pull request #209 from ethanrublee/ipi-latest

port changes from IPI.
ok cool, that's clear and will be clear for the user too. We'll clean those for loops as it goes.
fix cases where Python 2.7 and 3 are installed
Merge pull request #211 from vrabaud/python2.7_fix

fix cases where Python 2.7 and 3 are installed
first shot at the new BlackBox that solves existing issues
take the comments into account, get the API closer to C++ and add more tests
remove some pylint warnings
add a tutorial for the BlackBox
fix the docs
Merge pull request #214 from vrabaud/feature-new_blackbox

new BlackBox
remove some warnings with the latest catkin
Merge pull request #215 from vrabaud/new_api_for_ros_groovy

remove some warnings with the latest catkin
fix the quickguide and the install instructions
fix the Python API documentation
Merge pull request #216 from vrabaud/develop

Improve/create the online Python documentation
release 0.5.0
Merge branch 'release-0.5.0'