[New Feature] add supporting vultr compute driver

vultr compute driver for libcloud.
added testcases for vultr compute driver
added below commands

list_nodes
list_locations
list_images
list_sizes
reboot_node
destroy_node

You should also handle "Invalid API key" error and throw InvalidCreds if API return 403 status code.

```
# -------- begin 32143440:32140608 response ----------
HTTP/1.1 403 Forbidden
Content-Encoding: gzip
Transfer-Encoding: chunked
Server: nginx
Connection: keep-alive
Date: Mon, 10 Nov 2014 14:57:35 GMT
Content-Type: text/html; charset=utf-8

f
Invalid API key
0

# -------- end 32143440:32140608 response ----------

Traceback (most recent call last):
  File "example_compute.py", line 22, in <module>
    nodes = driver.list_nodes()
  File "/w/lc/libcloud/libcloud/compute/drivers/vultr.py", line 84, in list_nodes
    return self._list_resources('/v1/server/list', self._to_node)
  File "/w/lc/libcloud/libcloud/compute/drivers/vultr.py", line 133, in _list_resources
    data = self.connection.get(url).object
  File "/w/lc/libcloud/libcloud/compute/drivers/vultr.py", line 62, in get
    return self.request(url)
  File "/w/lc/libcloud/libcloud/common/base.py", line 736, in request
    response = responseCls(**kwargs)
  File "/w/lc/libcloud/libcloud/common/base.py", line 117, in __init__
    raise Exception(self.parse_error())
  File "/w/lc/libcloud/libcloud/compute/drivers/vultr.py", line 37, in parse_error
    raise LibcloudError(self.body)
libcloud.common.types.LibcloudError: <LibcloudError in None 'Invalid API key'>
```