Use JvmFingerprintStrategy in cache manager

JvmFingerprintStrategy was not used for the cache manager, causing the valid analysis file to be emptied the second time a compile was executed.

Testing Done:
Added a basic java compile integration test. Calls pants compile on a java test project twice, checking that the analysis file is valid each time.

Reviewed at https://rbcommons.com/s/twitter/r/835/
Got ivy to map in javadoc and source jars for pants goal idea.

This involved a fair amount of finagling with conf variables spread across ivy_* and ide files,
and some changes to the ivy mustache. The mechanism by which confs are currently passed around
does not seem very robust. The whole system would probably benefit from some refactoring to
abstract away ivy's inner workings and streamline generic mapping settings; it would be nice to
have an abstract interface for mapping jar files. This could  also make it easier to deal with
failing downloads, parallelization, or using a different jar mapping tool, but all that can
wait for an entirely different review.

Also cleaned up some style issues that got missed in the last patch for the idea goal.

Don't do extra work if no one wants sources.