Format preservation during merging implemented

Important changes:

1. Uses `lxml` instead of `xml`. lxml make it easier to develop, and has a very similar interface to xml. This would make installing the package on Windows harder.
2. MERGEFIELD syntax checking is relaxed significantly. This checking will only appear as a bug for users. The single spacing rule is not observed by Microsoft Word if Ctrl+F9 is used manually.

Remarks:
* Merging (whether format is preserved or not) does not work on complicated use cases where Word generates multiple `w:instrText` tags for each instruction, each with a different style. This happens with a gift certificate template from Word 2013.
* When multiple `w:instrText` tags are present, the module could fail crashing due to the assumption of single `instrText`, and the use of the `zip` function. In reality, this seldom happens since the offending `w:instrText` tags often appear in an isolated part of the xml tree. Nevertheless, the way `fldChar[begin]` and `fldChar[end]` are detected must be changed in future releases.