JCLOUDS-171: Fixed NPE when destroying nodes in Abiquo

There was a race condition when destroying a node in Abiquo
using the ComputeService: jclouds performed the active wait
until the node was in state TERMINATED, and used the transformation
functions to convert an Abiquo VirtualMachine to a NodeMetadata. If the
node was effectively deleted during this transformation, a NPE
was raised. This is because there are a couple of API calls that are
executed in that transformation to retrieve all information required
to build the NodeMetadata.

To prevent this, the AbiquoComputeServiceAdapter will block until the
node has been actually deleted instead of delegating that to jclouds.
This way there is no need to run the transformation functions that had
the race condition.
Use ComputeService timeouts to avoid blocking forever
JCLOUDS-182: List all virtual machines in Abiquo

Since Abiquo 2.4, all virtual machines for a user can be
retrieved in a single API call.

This change removes the strategy that fetched the details
of all virtual appliances first (to then get the virtual
machines in them), and updates the CloudService to use the
single API call.
JCLOUDS-188: Include pagination parameters in Abiquo VirtualMachineTemplateOptions

Modified the Abiquo VirtualMachineTemplateOptions builder to inherit from
the BaseFilterOptionsBuilder so it can accept pagination parameters.
Also superseded the OrderBy enum by a simple String, to avoid hardcoding
the fields that are suitable to be sorted.
The OrderBy enum has been removed and the FilterOptions class moved to a
more convenient package.
JCLOUDS-208: The datacenter link has been added to the Limits object construction.

This link is used in the 2.4 version of the Abiquo API to establish a relation
between an enterprise and the datacenter it is restricted to.
JCLOUDS-223: Implement token based auth in Abiquo

Properly implemented token based authentication. An initial request
is performed using Basic Authentication to request an authentication token.
Subsequent requests will use the obtained token to authenticate, and once
it expires a new one will be automatically requested.
Removed unused search service in Abiquo
Added missing throw to Throwables.propagate
JCLOUDS-224: Allow pagination when retrieving the list of users belonging to an Enterprise

Changes suggested in the Pull Request
JCLOUDS-198: Implemented the PagedIterable in Abiquo

* Refactored all the domain objects to return Iterables
  instead of Lists, to allow a more flexible approach when
  using the PagedIterable.
* Added a generic PaginatedCollection that knows how to advance
  any paginated collection.
* Changed all methods from the Abiquo APIs that allow pagination
  to return the corresponding PagedIterables and PaginatedCollections.
* Added Expect tests for every paginated resource.
* Handle the special case of user pagination, to bypass Abiquo issue
  http://jira.abiquo.com/browse/ABICLOUDPREMIUM-5927
JCLOUDS-205: Do not create duplicated groups in Abiquo

Refactored the AbiquoComputeServiceAdapter to avoid creating
more than one group with the same name, when creating multiple
nodes concurrently.
JCLOUDS-257: Removing special handling for URL decoding "magic"

Decoding "magic" was removed in https://github.com/jclouds/jclouds/commit/12f29fd8a9e50203acc12ccf794cf73c0abf5703
Upgrade labs to Guava 15.0-rc1
Upgrade to Guava 15.0

Release notes:

https://code.google.com/p/guava-libraries/wiki/Release15
JCLOUDS-236: Add CloudSigma v2 API and Providers
Use the login resource to authenticate

Some providers do not expose the "root" api endpoint, so it should be
better not used to get the token. The login resource can be used
instead.
JCLOUDS-275: Renamed the getter/setter methods for the HD size limits to remove the reference to the Mb storage unit
Added a method to retrieve the Virtual Machine a Volume is attached to
JCLOUDS-369: Added a new predicate to capture disk links

Added a new predicate to capture disk links