JCLOUDS-589: Reauthenticate on Keystone HTTP 401

This commit ports the Keystone 2.0 fix from JCLOUDS-178 to Keystone
1.1.
Fix for JSON parse error on createNodesInGroup (JCLOUDS-558)
JCLOUDS-584: HP Cloud Object Storage Fixes for 13.5
Avoid unnecessary object creation

Prefer StringBuffer.append(string, index1, index2) over
StringBuffer.append(String.substring(index1, index2).
Use more specific testng asserts where possible

These asserts yield more informative error messages.  Found with:

grep -rI 'assertTrue(.* =='
grep -rI 'assertTrue(.* !='
grep -rI 'assertTrue(.*\.equals('
JCLOUDS-610: Return the affected nodes from resumeNodesMatching, suspendNodesMatching and rebootNodesMatching

Methods have been refactored to match the functionality provided by destroyNodesMatching.
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-40: unasync OpenStack Nova API core features
JCLOUDS-40: unasync OpenStack Nova API extension features
Update Nova providers and affected live test
Reverted boolean return types, added @Nullable annotations, and minor doc formatting