SDS Toolkit initial prototype

Summary
Initial implementation of several components that implements the API specification. The system object model contains run time data used by the provisioning tools to decide how to optimally make a provisioning request. Specifically, the collector is responsible for collector run time data which is used in the provisioning process. The collector is also responsible for discovery and building the topology of the participating nodes and resources. This deliverable also receives the SDS Rest API provisioning request, scans the system object model and uses policies, heuristics, topology and run time data to make an optimal decision as to which resource should be used to satisfy the provisioning request. The system design will allow for the possibility of different heuristics (ex. Optimal speed, minimal cost etc). This deliverable also implements the API functions to run a compute operation on the storage node allowing the analytics process to be implemented with both compute based and storage based compute operations.