Merge pull request #2 from gschueler/master

Remove String.asType metaprogramming from Rest code
added clear method to cache.
Merge pull request #3 from gschueler/master

Add authenticate retry logic to RestClient
Merge branch 'master' of https://github.com/ahonor/rightscale-nodes
Added support for codahale metrics.
Also added more consistent use of log4j messages (debug level now).
corrected readme and simplified config prop names.
added timeout config setting for HTTP connect/read requests.
added timeout to config validate test.
refactored interfaces to be groovy source
removed unused methods from interfaces.
refactored getTags to use HttpClient#post method.
included exception class to distinguish API request errors.
made tags as attributes property default to false.
fix bug preventing tags-as-attributes flag from being unset.
Removed try/catch from loadCache to let exceptions propagate.
added UnsupportedResourceType exception to manage HTTP 422 results.
Not all cloud providers return the same set of resource data
(ie, not the same as AWS like ssh_keys, subnets, datacenters).
If an unsupported type is found, then an empty list is returned
for that resource type.
Add hasResource method to check if a resource exists in the cache.
Speed up cache loading using some concurrent queries.
fix #5
Remove static Rest.groovy usage

* slight refactor of RestClient to not use static Rest.groovy
* use codehale Timer with closure in RestClient get/post