Marking some dependencies as provided or optional.

 * The metrics library is now marked as `provided`, so that there's no accidental
upgrade.
 * Marked the annotation-only libraries as optional, so that people who are using
them won't implicitly import them.
Moving the metrics 2.+ libraries into a subproject. This way it can be maintained adjacent
to a metrics3.+ library since the changes in these are so radical.
Merge pull request #5 from dclements/provided

Modifications to prepare for version 3.