Fix multiple compiling issues

Signed-off-by: Hongjiu Zhang <zhanghj@umich.edu>
Further fix more compiling issues

Signed-off-by: Hongjiu Zhang <zhanghj@umich.edu>
Rewrite location for "this" in class methods

The original program use a single static location for all the "this"
appeared in the program. This prevents us to assign different registers
to different "this" in different procedures. This is fixed by assigning
a "this" location fields for FnDecl objects.

Signed-off-by: Hongjiu Zhang <zhanghj@umich.edu>
Implement register filling for BeginFunc

Function parameters are also assigned with registers, but they were not
actually loaded before they are used. The implementation is added to
BeginFunc::EmitSpecific() so that the registers are really utilised.

Signed-off-by: Hongjiu Zhang <zhanghj@umich.edu>
Finish Graph Coloring Algorithm
Add registers save and restore for ACall and LCall
Fix bugs on Register Mapping