GCE: healthcheck: add description param to ex_create_healthcheck(); targetpool: multiple bugfixes

Fix #1:

targetpool = driver.ex_get_targetpool('tpname')
targetpool.add_node(node)
node.destroy() # targetpool still contains the node
targetpool = driver.ex_get_targetpool('tpname')
    # targetpool.nodes contains node uri string (in addition to possible other node objects)
    # as produced by _to_targetpool because the node is in the pool but is destroyed
targetpool.remove_node(node) # raises an exception, removes the node nevertheless.

Expected behavior: remove the node, return true

Fix #2:
targetpool.add(node)
targetpool.add(node)
    # targetpool.nodes contains 2 copies of node
    # actual targetpool resource on the GCE side doesn't contain 2 copies

Expected behavior: no duplicates in targetpool.nodes, the node list matches GCE side

Fix/Improvement #3:
Allow specifying nodes by fully-qualified node uri in add_node and remove_node.

if tp.nodes:
  tp.remove_node(tp.nodes[0]) # fails if the node in the list doesn't exist

exoected behavior: should be able to remove any node from the list

GCE allows adding non-existent nodes to the targetpool and doesn't automatically
remove nodes from the pool if you delete them. libcloud should support doing the same.

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: fix ex_targetpool_add_healthcheck and ex_targetpool_remove_healthcheck.

The requests were malformed and thus did nothing.

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: add a parameter to ex_create_address to promote specific ephemeral addresses to static ones.

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: add description parameter to ex_create_forwarding_rule, improve tests; fix documentation and test fixtures for health checks

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: fix creating a forwarding rule with a static IP

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: ex_create_firewall: allow creation og firewalls with sourceRanges = [], preserve behavior for sourceRanges = None, preserve default value.

GCE documentation states that firewall allows traffic
if it matches either sourceRanges or sourceTags values.
Thus, sourceRanges = [] is a valid parameter value.

Although it would be better to simply set ["0.0.0.0/0"]
as the default, for minimal API breakage, None value is
still supported.

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: fix parameter name for protocol in ex_create_forwarding_rule

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
GCE: lint

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
Fix lint.
Update CHANGES.

Closes #360
Add virtualization type option for EC2 image registration

Closes #361

Signed-off-by: Tomaz Muraus <tomaz@apache.org>
Merge branch 'trunk' of https://github.com/apache/libcloud into LIBCLOUD-611-support_create_image