Split title and version code into separate service

Polluting the context with this logic made it harder to override with an
alternative service.
Attr: tweak javadoc to be more specific
Merge branch 'clean-versions'

This branch splits out the org.scijava.Context's getTitle, getVersion,
getPOM and getManifest methods into a separate AppService.

This is important so that downstream can override the behavior.