Added graphmlxml class

It is an attempt to solve issue #448.

Note that this is a preliminar CL, and probably is necessary to polish some edges:
A new class was introduced and just in case lxml is available it uses it.
There are some hacks, as to be able to reuse the existing code.
The method generate_graphml is still based on the old writer.

Note: It's a resubmission of https://github.com/networkx/networkx/pull/1074
This prevents the old `write_graphml` from being tested and affects coverage reporting. The old `write_graphml` should be made available using another name and tested. Interoperability of the two versions of the function also needs to be tested.