Generalised all functions in Parsing.hs

Before it wasn't possible to use these general combinators with the ParsecT
transformer but with the more general types this is now possible.
Removed (>>~) function

This function is equivalent to the more general (<*) which is defined in
Control.Applicative. This change makes pandoc code easier to understand for
those not familar with the codebase.
Removed inline fmap from Parsing.hs

Replaced all inline occurences of fmap with the more idiomatic (<$>).
Docx Reader: A nicer Docx type.

This modifies the Docx type in the parser to avoid all the extra files
(Notes, numbering, etc). A reader monad keeps track of these, and applies
them at the end. The reader monad is stacked with ErrorT to enable better
error-handling than the old Maybes. (Note that the better error handling
isn't really there yet, but it is now possible.)

One long-term goal of these changes is to make it easier to write the Docx
type. This should make it easier to develop a standalone docx package in the
future.
Docx Reader: Add a compatibility layer for Except.

mtl switched from ErrorT to ExceptT, but we're not sure which mtl we'll
be dealing with. This should make errors work with both.

The main difference (beside the name of the module and the monad
transformer) is that Except doesn't require an instance of an Error
Typeclass. So we define that for compatability. When we switch to a
later mtl, using Control.Monad.Exception, we can just erase the instance
declaration, and all should work fine.
document fenced_code_attributes extension

Adds explanation of this extension to the README, using
description provided in 7654db9df1b68926371da2a1f23db6df93056f44.
Merge pull request #1418 from wcaleb/document_code_attr_ext

document fenced_code_attributes extension
Merge pull request #1415 from jkr/nicertype

Nicer Docx type
Merge pull request #1414 from mpickering/general

Improvements to Parsing.hs