Added header option with optional version and encoding

XMLWriter can write a header (e.g. ```<?xml version="1.0" encoding="utf-8"?>```) to its output, but xml-mapping provides no way to use this. This change enables it if header is set true in options. It also adds version (default 1.0) and encoding (default utf-8) options.