add get and set methods for performance considerations, and prevent any chance of users changing properties after lock() is called.

including performance tests
Merge pull request #26 from 0xor1/dev

add get and set methods for performance considerations, and prevent any ...