Full semver support in Bower #1

@devoncarew 

* Support for various semver range operators in dependencies in bower.json with version resolution via GitHub tags: e.g. `^1.2.3`, `~1.2.3`, `>=1.2.3 <2.0.0`.
* Support `latest` as a meta-tag designating the latest released tag + default an unspecified tag to `latest` instead of `master` previously: e.g. `Polymer/polymer#latest` or `Polymer/polymer` will currently resolve to `Polymer/polymer#0.4.2`.

A bunch of less important stuff is still to be implemented: will file individual issues (e.g. use "resolutions" from bower.json instead of proprietary overrides from CDE flags, resolve possible conflicts, use Bower registry to discover packages without explicit paths...).
Nope, it doesn't support exactly what we need the most: `^` and `~`. I've contacted the author (Bob Nystrom), and he's agreed to this course of action. The intention is to eventually include these expanded syntaxes into `pub_semver` (perhaps rename it to `semver`, too), and add some way to configure it from a client, so that Pub could still support only its restricted subset.