Added cpplint and made linting pass
Removed all `type` arguments while retaining backwards compatibility.
Affected: `NanAssignPersistent`, `NanInitPersistent`, `NAN_WEAK_CALLBACK`
Fix const in NanNewBufferHandle(data, size)

Data is copied after passing and const is necessary to compile const
correct code without ugly casts.
Fix MSVS compiler warnings.

Use explicit casts and appropriate types for pointer arithmetic.
Merge 'work'