Adding a cluster usage based scaling policy.

This will serve as an example to add more complex auto scaling policies in the future.
It is synchronous. I just left an option to add some more creations in parallel if the cluster is under distress. In reality it depends on the APIs that are available to the scaler. As discussed offline, for the short term, we have the scaler make an imperative request to create a new node and then wait for it to be created. If the actuator can provide a synchronous interface that might help simplify the logic here. But in the long term, node turn up might take quite a while and the scaler will have to listen to events from a service(apiserver maybe) that will provide it the current state of the cluster. Right now the source for cluster state is the aggregator and the actuator API is not expected to wait for the node to become 'active'.