JCLOUDS-607: ComputeService.createNodesInGroup throws NPE on FloatingIPA...

This is a 2 part problem. The first is that 'FloatingIpApi.create()' can return null's. This is mainly due to named floating IP pool not being present. The method 'allocate(String poolname)' of the same class provides this very functionality but in this particular case it is never used due to no poolName being present to work with. Which leads us to the second part of this problem: inside class 'AllocateAndAddFloatingIpToNode', where the first pops its ugly head, there is currently no way to get a named IP pool down to when this null could be returned so that we can use method 'allocate(String poolname)' to properly retrieve a FloatingIP.

This PR addresses both issues.
[minor] Are we ever going to create these directly, rather than with the static helpers? Can we reduce this to one private or protected constructor, and two static builders
```
public static NodeAndNovaTemplateOptions newNodeAndNovaTemplateOptions(AtomicReference<NodeMetadata> node, AtomicReference<NovaTemplateOptions> options) {
   return new NodeAndNovaTemplateOptions(node, options);
}

public static NodeAndNovaTemplateOptions newNodeAndNovaTemplateOptions(NodeMetadata node, NovaTemplateOptions options) {
   return newNodeAndNovaTemplateOptions(Atomics.newReference(node), Atomics.newReference(options));
   // or return new NodeAndNovaTemplateOptions(Atomics.newReference(node), Atomics.newReference(options));
   // if we prefer that
}
```
?