Refactored OPFData parsing

 * Made `OPFData` an immutable data object
 * OPFData is created via an `OPFDataBuilder`
 * `OPFData` content is parsed in `OPFPeeker`
   (parsing was previously done in `VersionRetriever`)
 * Adapted the parsing code to be able to gather more data
   (continue parsing until the `metadata` end tag)
Parse dc:type info in OPFData

 * OPFPeeker can now parse top-level `dc:type` elements
 * OPFPeeker is now constructed with a `GenericResourceProvider` and is
   responsible for creating and closing its own `InputStream`
 * Updated Guava to version 15.0.1 (to use the `Closer` utility)
 * Made `InvalidVersionException` inherit from `SAXException` so that
   it can be rethrown directly from the parsing code
 * Added tests for the new `dc:type` parsing
Add unique-identifier support to OPFData
Support multiple validators in OPFChecker

Replaced the declaration of 1 RelaxNG validator + 1 Schematron
validator by a set of `XMLValidator`.
Make OCFData and OPFData in OCFPackage reusable

`OCFData` and `OPFData` objects are now parsed lazily and memoized.
They are returned as simple getters (memoized using a Guava supplier),
thus removing the previously needed `Report` argument. A `Report`
object can instead be passed to the `OCFPacakge` in initializing code.
Clean OPFChecker fields and inheritance

 * Made most fields finals
 * Clena constructors chain
 * Map initializers are now protected and overriden for EPUB 3.0.x
Support per-type validators in content checkers

  * Grouped `XMLValidator`s in an `enum`
  * Added publication types as a parameter to the factory method of
   `ContentCheckerFactory`
  * `OPSChecker` stores validators in a multi-map with `OPSType` keys
  * Publication types can be looked-up to instantiate the validators
    multimap accordingly
Reinstated the POM's m2e plugin config
Add a 'with_nodes' profile

As stated in the README.md, this allows for the build of the nodes server
to be optional. Specifying the profile, the build is unchanged.

Should fixes the issue #425
Merge pull request #426 from tledoux/node-profile

Add a 'with_nodes' profile
Merge pull request #423 from IDPF/feature/pub-types

Support custom schema-based checks for specific publication types
Merge pull request #424 from IDPF/feature/pom-m2e-config

Reinstated the POM's m2e plugin config