JCLOUDS-282: Add NL to assignable locations for SoftLayer

- zone contained NL, so needed to add it to SoftLayerProviderMetadata's
  iso3166Codes
JCLOUDS-267. Add SecurityGroupExtension support for Nova.
JCLOUDS-286: Add a statement to install Chef using Omnibus
Remove BlobStore Map abstractions

These provide little end-user benefit and make evolving the core API
more difficult.  We deprecated these in 1.6.0.
[JCLOUDS-301] Reduce reflection overhead of Invokable.getParameters()

By caching the results from Invokable.getParameters(), this commit
improves request signing performance (GETs and PUTs) for S3 by >
3X. These performance problems were seen in production and diagnosed
using the YourKit profiler.
CloudStackApi should extend Closeable

Without that, you can't actually do view.unwrapApi(CloudStackApi.class).
JCLOUDS-303. unwrap should permit subtypes
JCLOUDS-303. unhook ApiMetadata type hierarchy from ec2
[JCLOUDS-302] Remove unnecessary String construction in HttpUtils
JCLOUDS-305. Disable S3 virtual host buckets for generic S3

Not all S3-compatible providers support virtual host buckets and thus
we should disable this feature by default.  Continue to enable virtual
host buckets for AWS-S3 which supports this although this feature
suffers from DNS settling issues.  Ran ran integration tests against
AWS-S3 and Scality using its S3 API.
JCLOUDS-304. Remove broken terremark providers
Fix EC2 live tests

This removes
org.jclouds.ec2.compute.functions.PasswordCredentialsFromWindowsInstanceLiveTest
due to there not being an easily detectable valid AMI for it to run,
and low interest in actually running it in the first place.
Fix aws-ec2 live tests

Involves some non-trivial reworking of EC2 security group
translation/binding, but it was necessary.

Still problems with a number of tests:
- org.jclouds.aws.ec2.compute.AWSEC2TemplateBuilderLiveTest#testTemplateBuilderWithLessRegions
- org.jclouds.ec2.compute.EC2TemplateBuilderLiveTest#testTemplateBuilderCanUseImageIdWithoutFetchingAllImages

Those seem to be failing because there's caching going on that they're
not expecting, but I could be wrong.

Also failing:
- org.jclouds.aws.ec2.features.PlacementGroupApiLiveTest in general
- org.jclouds.aws.ec2.features.SpotInstanceApiLiveTest - a couple tests
Add whitespace around keywords and braces
JCLOUDS-311. work around mixed versions in hpcloud-objectstorage regions
Fix assertEquals arg ordering in BaseSecurityGroupExtensionLiveTest
JCLOUDS-287. Add SecurityGroupExtension support to CloudStack.
JCLOUDS-331 - support specifying an imageChooser function in TemplateBuilder
Trivial: Remove unnecessary for loop in Atmos signing
Fix OpenStack Nova SecurityGroupExtension based on live tests

So there were a few problems, but the core ugly one is that what you
pass in for creating a rule allowing groups' access is not the same
thing you get back from a group with such a rule, which makes mapping
between the arguments and the output insanely painful. So now, well,
we do some insanely painful stuff.