Added support for PropertyAttributes

This PR is based on #160 and adds overloaded functions for ```NanSetTemplate()```, ```NanSetPrototypeTemplate()``` and ```NanSetInstanceTemplate()``` to support 
```
enum  	PropertyAttribute { 
  None = 0, 
  ReadOnly = 1 << 0, 
  DontEnum = 1 << 1, 
  DontDelete = 1 << 2 
}
```
Test cases are included.
back the indenting off here to 2 spaces so it's obvious this is the method body, same for the others, also have a look at the existing formatting for arguments, how far they are indented and what to do with first argument