Lot's of code de-duplication

Synched non-essential files from mruby repo.
Code deduplication in codegen.cpp also extracted dumping code to
code_dump.cpp
A blob-commit :(
Fixed vm.cpp : removed undefined behaviour related to ADD/SUB/MUL/DIV
operations on mrb_int values.
Also made division work the same way it does under ruby:( 3/4 => 0),
mruby was doing this ( 3/4 => 0.75 )

Also some code deduplication.