XML::Writer class multiple fixes

Hi,

I bring few fixes on XML::Writer class:
* hide/forbid instantiation with new (object is then unusable, it throws a TypeError exception)
* revise flushing:
    - add an explicit flush call before fetching outcoming result
    - for an in memory XML::Writer:
        * add a boolean parameter to empty (or not) internal buffer
        * return current internal buffer as string (with encoding associated to the document propagated for ruby >= 1.9 to the last one)
    - for the others cases, just return the number of written bytes
* the most important: passing nil as value for arguments named pe result in undefined behavior (may segfault?). So, I change this default value (Qnil) by an internal one: Qundef