Property synctatic sugar support

Includes unit tests, benchmarks(surprisingly - the property system is faster than invoking getter/setter methods.... somehow, on both Lua 5.2 and LuaJIT), and source code minified down to 30 lines(although some of them are getting fairly long).

What it does not include is updated version history.

Also, it makes using `__newindex` and `__index` together with properties impossible, potentially breaking backwards compatibility if properties are also used. I can add support for that, but the code length is going to grow.

I would love some input on this. Do you think I should perhaps make a fork instead?