Notepad++ callbacks with mutex and list of boost::python::object

All PythonScript classes now in NppPythonScript namespace
Tests for NotepadPlusWrapper
Arguments and help fixes for NotepadWrapper
BUG: SF#9: notepad.runMenuCommand ignores menu name
Arguments help for Notepad object
GILLock for shutdown
Extra callback test cases

- includes nasty nested callback
- callbacks registering further callbacks within callbacks
- notepad callbacks triggering editor callbacks, and vice versa
Scintilla 3.39 headers imported

Restored one line in Face.py, to leave the ["Name"] in the function definition.
The current script relies on this.
Generated code regenerated for Scintilla 3.39

- Added new Scintilla notifications
- Added new parameters to existing notifications
- GetRangePointer manually implemented (same as GetCharacterPointer())
- unittest.skip() removed - all tests can now run (and pass!)
Argument names for Editor object
Fix and tests for getRangePointer / getCharacterPointer
Prepend the internal dirs for sys.path

This fixes issues when python is installed on the machine, and python
loads native modules from the installed python, rather than pythonscript.
Standard CPython is compiled /MD, which makes for fun interoperability
issues.

Closes #8