Create new branch named "NewByteCode"
Change: to use constant folding to parse scoped values;
Add: some structs and functions for the new bytecode encoder.
Add: more implementation for the new bytecode format.
Add: more implementation for the new bytecode format.
Add: more implementation for the new bytecode format;
Remove: the previous bytecode format implementation.
Add: more implementation for the new bytecode format;
Add: preliminary implementation for bytecode decoding;
Fix: a few minor bugs in handling template like generic types;
Fix: a few minor bugs caused by the recent changes in the parser.
Merge from the NewByteCode branch.
Fix: a minor parsing bug due to recent changes in parsing scoped constant.