Remove unused functions
Give better compile time error message
Use macros to collapse repetitive template specializations
Add dependencies for tests
Add more tests for InputBinder and fix infinite loop
Fix access after free
Fix cpplint warnings