add two feature,add more test code

1. add support #foreach.first / #foreach.last
2. add support object.keySet()
3. add more macro test code, escape test code, ...