Include failing XML file in parse errors

Creates a new OpamDocXml.input abstraction to track the Xmlm.input and the optional file source string
Merge pull request #43 from dsheets/parse-error-file

Include failing XML file in parse errors
Support paths containing module types
Merge pull request #45 from lpw25/fix-paths

Support paths containing module types
Support extensible variant type declarations
Support type extensions
Merge pull request #46 from lpw25/add-extensible

Add support for extensible variants
Support polymorphic variants
Merge pull request #47 from lpw25/poly-variants

Support polymorphic variants
Support poly-types
Merge pull request #48 from lpw25/poly-types

Support poly-types
Include nested modules within their parents
Merge branch 'flat-files'

Conflicts:
	src/opamDocCmi.ml
	src/opamDocCmti.ml
	src/opamDocTypes.mli
	src/opamDocXml.ml