adding metrics to cloud metrics

unit tested but not tried on real data
total pending to cloud metrics

and tested with real data - works
metrics main() tests added

printing is based on optional arg that defaults to False. Also taking
metric ttl from config instead of hard coding
lint fixes
better comments - thanks @lvh
add_to_cloud_metrics minor rewrite - thanks @lvh
added docstr - thanks @lvh for reminding
add sample metrics configuration
docstr corrections - thanks @lvh
IsCallable class

Can be used in tests to check if argument passed is callable
correcting call to get_scaling_group_servers

`get_scaling_group_servers` changed its arg to server_predicate but its
caller in metrics.py was not changed. Now changed it. Also updated tests
to check this
Merge pull request #710 from rackerlabs/add2cloud-metrics

AS-389: Add per region totals to cloud metrics