First refactor.

After realizing that the BaseNode hiearchy was not a hierarchy but a way
to use a bag of functions inside an object, the following changes have
been made:

- Javascript protocol oprations moved to the zombie proxy client.
- Also added error handling for all operations: this will make server.js
  continue working after an error for those situations without
  try/catch.
- Changed the browser to use the new client api.
- Make the DOMNode to use functionality present in the browser. While
  the method names might be the same, their signature was different.
- DOMNode uses the browser and when the operation is not available, it
  uses the proxy client.
- Moved some big chunks of code to the server.js. What a better place to
  put javascript code than a javascript file?

Broken things:
- for sure support for python26 and perhaps python32. I
- I might have forgotten to port some methods from the old to the new
  api.
- Missing tests