DefaultPluginService: tweak style
AppService: generalize management of applications

Previously, the AppService assumed there was a single application
corresponding to the the SciJava application context. The AppService was
responsible for reporting things like its title, version, POM and
Manifest metadata. However, it is very possible for a single SciJava
application context to be shared between multiple applications (e.g.,
think of ImageJ2 + SCIFIO).

To support this situation, there is now a new type of plugin, the App,
which defines application metadata for a particular application. The
AppService now discovers all available Apps and organizes them by name,
for easy querying by downstream code. In this way, ImageJ can register
itself as a relevant application, as can SCIFIO, in the same SciJava
application context, without stepping on each others' toes. This
organization makes it feasible to query the version of ImageJ, version
of SCIFIO, etc., all independently.