Add Formatter interface and the plain implementation
Rename flush method of Formatter and Add addtional methods

- renamed flush method
- added header and footer method to support semi-structured formaat (xml, json)
- added the wrapper method for header and footter in ResultDistributor and the implementation
- applied the wrapper header and footer methods in DocumentValidator
Enhance the checking of parameters and tests of DeafultResultDistriutor
Make XML formatter selectable

- Create XMLFormatter prototype
- Add option to select XML formatter
Enhance prototype XMLFormatter

- make output error with sub fields (line number, content, file name)
- add tests
Add output format parameter into the docvalid command
Add code to handle exceptionanl environments in XML

see http://www.slideshare.net/yusukey/android-6595931/10
Merge pull request #54 from takahi-i/semi-structured-output-format

Support XML as the output format