Start handling prereqs with CPAN::Meta::Requirements.

This allows prereqs to be specified as things like:

>= 1.2, < 2.4, != 1.6

A handful of distributions already declare prereqs
like this, but Pinto could not index them because
it expected prereqs to be simple version numbers.
Now we can index them.

More importantly, this paves the way toward specifying
target packages at the command line.  So you can
specify exactly which version of package you want to
pull.
Pinto-ize PackageLocator.

Now that PackageLocator is part of Pinto, we can use the
types that Pinto already provides.
Bring over tests from the old Package-Locator dist.
Fix failing tests.
Just comments.
Tidy by hand.  Moose type definitions are hard to make pretty.
Add encoding declaration to pod.  Hoping this fixes travis failures.
Rename PackageLocator -> TargetLocator
Rename "Spec" -> "Target".
Rename test files, to reflect class name changes.
Further integeration with TargetLocator.

Now we can get rid of the IndexCache completely.
Recharacterize "specs" as "targets" throughout.
Recharacterize "specs" as "targets" throughout.
Merge branch 'feature/version-requirements' of github.com:thaljef/Pinto into feature/version-requirements
Merge branch 'master' into feature/version-requirements

Conflicts:
	lib/Pinto/Schema/Result/Stack.pm
	lib/Pinto/Target.pm
Checkpoint: Permit complex version reqs in archive notation.

This allows you to put things like `>=3, !=2' in your prereqs.
Update tests to use ; instead of , for package separators.
Update change log, so I can remember what I'm doing.
Add test case for pulling with complex vreq.
Patch up the TargetLocator, so the tests will pass.

I changed some of the TargetLocator API back to the way it
was when it was called Package::Locator.  That way, I can
reuse the same old tests.  But long term, I really want to
change this whole subsystem to be more like xdg's CPAN::Common.