JCLOUDS-123: Using Clojure core incubator-specific nilsafe in AMI service binding

Submitted by Trevor Wennblom
JCLOUDS-124: Missing ^:dynamic in Clojure blobstore example

Submitted by Trevor Wennblom
Add license headers to src/test/resources where possible, more fine-grained RAT exclusions
Adding DEPENDENCIES to rat exclude
Cleaning up lurking copyright issues/NOTICE txt
Fixes testCreateAndRunAService by fixing the outdated jetty URL
JCLOUDS-127: Added a method to check if the context is open

- Added isOpen in Context interface
- Refactoring Closer class:
  - method close can only call once
  - method close is threadsafe
  - added method getState
JCLOUDS-100. Add AWSServerErrorRetryHandler, with an increased back
off time.
Do not repeat array type in initializers
JCLOUDS-99. Enable use of Iterable<IpPermission> for aws-ec2

- Added AWSEC2CreateSecurityGroupIfNeeded, using
AWSSecurityGroupClient's ability to call
authorizeSecurityGroupInRegion with Iterable<IpPermission>

- Added a utility method,
ComputeServiceUtils.getPortRangesInList(int... ports), to get pairs of
start/end ports covering all ranges in a list of ports. Used above.
Added the SYD zone to Rackspace providers.
Ensure rackspace cloudidentity live tests pass where applicable
Disables incompatible keystone tests
JCLOUDS-105 - fixing a problem caused in cases where vm.isPasswordEnabled() is false and no keypair is specified.