Implement internal collectors for instances

This implements a more reusable collection system which is now collecting instance objects from AWS and Openstack via the jClouds library.

This is a major overhaul and changes the behaviour of Prism in a few ways:

 - new /sources endpoint giving the state of all the data sources
 - process *all* instances, rather than just those that have appropriate tags set (marauder has been fixed to handle this)
 - some endpoints that relate to instances have been moved under /instances