Add python support and refactor ruby code.

Moved all ruby code to its own autoload file and added support for python. Now
the plugin can work with either ruby or python.
Update documentation