Overhaul of plugin builder

Hi

Ok where to begin? :-) I pretty much overhauled everything in the plugin builder:

* try to adhere to pythonic way of doing things as much as possible
* make a ready to use test suite for the generated plugin that the user can build on easily without needing to figure out how to get the foundational stuff in place
* added a basic test suite for the plugin builder itself - I need to add a decent amount of tests to it, currently it just provides a framework that we can add tests to with a few example tests.
* revised the generated makefile and added some helper scripts
* try to make the plugin and the template adhere to the coding conventions in http://test.inasafe.org/en/developer-docs/coding_standards.html
* overhauled the UI for the plugin builder so it is a single panel (no help on left) in a scrollview.
* added help in line edit controls (visible before you start typing text) and tooltips to everything
* ensured that tab order and buddies are set properly
* removed the need for compile ui files (they get built dynamically at run time) - both for plugin builder and for generated plugin
* used multi-inhertance in plugin and generated plugin so that we can use auto-connect slots
* renamed pretty much every module, class, variable for consistency, PEP compliance and clarity

There are many other changes that I probably forgot to mention above. 

**Warning** my changes will probably break every tutorial out there as all the naming conventions etc are different. If you are worried about that it might be an idea to actually create and manage this as a separate plugin so we don't cause too much flux for users.  Of course that also has issues in that users will face some confusion as to which plugin to use, so my preference would be to deal with the churn and get this out there as the new standard.


I am putting this PR out there so that others can test, but I suggest to hold off on applying (assuming you find it acceptable) it for a week or two so I can solicit some feedback and do a little more polishing. I'll do a little spamming the mailing list to try to get people to try it and give feedback.

Regards

Tim