Node v0.10.x Compatibility

* Removes the freeze on the WikiConfig prototype which was preventing
  prototype values from being overwritten during init().

* Fix in TemplateHandler where a src listener was being pushed onto the
  array instead of added via once().

* Resume response in tests/client/client.js for backwards stream
  compatibility.

* Moves away from the inheritance pattern,

  function Child() {}
  Child.prototype = new Parent();

  Better would be,

  function Child() {
    Parent.call(this);
  }
  function Ctor() {
    this.constructor = Child;
  }
  Ctor.prototype = Parent.prototype;
  Child.prototype = new Ctor();

  But recommended is,

  function Child() {
    Parent.call(this);
  }
  // util.inherits(Child, Parent);
  Child.prototype = Object.create(Parent.prototype, {
    constructor: {
      value: Child,
      enumerable: false,
      writable: true,
      configurable: true
    }
  });

  This was causing event emitter values initialized in the constructor to
  be shared on the prototype of the TokenTransformManagers, resulting in
  an infinite recursion.

Bug: 45994
Change-Id: Ic588060b5ebbc073839cce7c144e266bc4a5ab79