A first draft for a XML::Writer class
few fix on code, improve/complete doc and UT

Code:
* R_TEST => RTEST
* typo enternal => external
* remove macro on rb_define_method for rdoc
* start_dtd_entity:
  - pe argument optional (default: false)
  - pe argument was ignored
* write_dtd_internal_entity: 3 arguments not 2

Documentation:
* XML::Writer => writer for instance methods

UT:
* encoding
* dtd attlist
* dtd element
* (internal) dtd entity
rb_scan_args misuse + few minor changes (see details below)
* unification: makes pe last argument everywhere
* rb_scan_args is not zend_parse_parameters: optional arguments are set to
Qnil, they don't keep their initial value
* UT: write_dtd_notation and write_dtd_external_entity
Fix version for xmlTextWriterSetQuoteChar, it appeared in libxml2 2.9.0 (last version).
s/LIBXML_VERSION > 20900/LIBXML_VERSION >= 20900/
Besides, use >= instead of >, to avoid mess on versions.
Compatibility with older versions for IO::write (rb_io_bufwrite is
specific to ruby >= 1.9.3?) + symbols are VALUE not ID.
Merge pull request #53 from julp/writer_class

For a XML::Writer class