Custom helper

1. Big document improvement
2. Support space control
3. Support custom helpers (now only function helper, no block helper)
4. add more tests
5. start Travis CI build , but now no tests, only gen_doc .