Improved pagination in GCE

This pull request improves the pagination in GCE so it no longer sucks :D The main changes are:

* Removed all `listFirstPage` and similar methods from all APIs.
* All *list* methods have two forms: one to list all records that returns a `PagedIterable` (no params), and one to get a concrete page that accepts a `ListOptions` object.
* The `ListPage` object representing a single page has been refactored and improved and now has a convenience method `toPagedIterable`, that allows converting it to iterate over the pages after a filter operation or similar.
* Refactored all parsers to accommodate the new pagination logic.

In summary, every API only has the minimum and meaningful methods to get a list of records, and the pagination domain objects have been reworked to make it trivial to iterate over the pages.

I've also removed most of the warnings in the project.

/cc @ccustine @danbroudy Could you give a try to the branch and run the live tests? Your feedback on how the new pagination methods look like from a user point of view is appreciated too :)
/cc @adriancole Your feedback is also welcome :)

Do you mean this?
```java
FluentIterable.from(api.getFirewallApiForProject(userProject.get())
   .list(options)
   .toPagedIterable()
   .concat());
```
The [PagedIterable#concat](https://github.com/jclouds/jclouds/blob/master/core/src/main/java/org/jclouds/collect/PagedIterable.java#L73) already returns a FluentIterable, so that won't be needed (and that method in Guava is deprecated). Are you in the direction of changing the `PagedIterable.concat()` method to have a regular `Iterable` in the signature? Or am I missing something?