Python implementation of the Cartridge Agent

Implemented the cartridge agent in Python
1) Subscribing and publishing to topics on the message broker
2) Extension handling on events
3) Simple object model to store tenant and topology contexts
4) Git repository handling for artifact management events
5) Health statistics and log publishing to CEP and BAM using thrift

The cartridge agent takes configuration settings from the payload parameters file and the agent configuration file. These configurations are read and provided by CartridgeAgentConfiguration class acting as a singleton.