Enhanced V8 Support

I've been updating SWIG-V8 to fully support building of V8 bindings for [OpenStudio] (http://openstudio.nrel.gov/). OpenStudio is a very large (approximately 26,000 wrapped functions across 34 SWIG modules) project which currently supports Ruby and C# via SWIG.

Changes include

 * Full support of building Node modules (partially pulled from another fork of your code)
 * Support of the latest version of V8. This led to some conditionally compiled code I don't love, but it seemed necessary. The issue is due to many functions being deprecated by V8
 * Support for modules to reference and use previously loaded modules by storing the swig state in the global V8 state object
 * Fixes of multiple overloaded functions with the same name but in different classes
 * Fix returning of const std::string & objects
 * Fix incorrect include in std_pair.i
 * Fix inheritance of base classes defined in previous modules.
 * Add support for %begin section
 
There is still one known issue. There seems to be a problem with:

```javascript
someFunctionExpectingBaseObject(derivedObject);
```

The problem only seems to occur if BaseClass is defined in a separate SWIG generated module.

Also, I'm quite sure that the unit test suite defined in SWIG needs to be updated.

-Jason