Fixed valgrind errors.

It seems that my code is fine and I just need to add
VALGRIND_DISCARD_TRANSLATIONS in gc code... WTF
Cleanup and prepare for merging back to master.

Next step is to add more prim-ops and special-ops.