JCLOUDS-612: Securely create temporary directories

This commit addresses a potential security issue where an attacker
could hijack the ScriptBuilder payload by predicting the temporary
directory name.
Fixed NPE when Server has no Image
JCLOUDS-594: ComputeService.suspendNodesMatching throwing UnsupportedOperationException but call still succeeds
JCLOUDS-618: Allow servers without boot device in ElasticStack
Close InputStream after use

Found with Kohsuke's file-leak-detector.
Upgrade to testng 6.8.8

Partial changelog:

https://github.com/cbeust/testng/blob/master/CHANGES.txt
Address Checkstyle violations
JCLOUDS-585: Add HP Cloud Block Storage Provider (OpenStack Cinder)
JCLOUDS-617: Use the configured JCE provider in the Cipher payloads
Added the CONTRIBUTING file
Exclude the CONTRIBUTING file from the rat check
Added ConsolesApi extension for openstack-nova
Handle short reads in BasePayloadSlicer

InputStream.read(byte[]) can return fewer bytes than requested.
Specifically ByteSource.concat(ByteSource...).openStream() will only
return as many bytes as the current ByteSource contains.  Thus
ByteSources.repeatingArrayByteSource(byte[]).openStream() will return
short reads despite the byte[] input from its single logical
InputStream.
Default values for aws credential properties

Every project was using undefined properties in their pom.xml.
A default value for test.aws.identity and test.aws.credential was
added.
Avoid impossible UnsupportedEncodingException
Provide descriptive bogus values for properties
Consistently use Square's mockwebserver

Google mockwebserver merged into OkHttp as per:

https://code.google.com/p/mockwebserver/
JCLOUDS-619: Introduce MultipartNamingStrategy to generate part names correctly.
refactor BaseComputeServiceLiveTest to simplify the extension of this base test
JCLOUDS-607: ComputeService.createNodesInGroup throws NPE on FloatingIPApi.create()