define and use print format macros for mrb_int

For portability: %ld can't be used to print a 64-bit mrb_int on
WIN(32|64) because long is 32-bit wide.
Add new API mrb_ptr_as_string().
Remove *printf() that have "%p" format as possible. Use tomrb_ptr_as_string() instead.
Use mrb_obj_classname() instead of _obj_classname(). They are complietely same.
Remove _obj_classname() as unused.
Merge pull request #1055 from monaka/pr-remove-_obj_classname

Remove _obj_classname()
Merge branch 'pr-add-mrb_ptr_as_string' of https://github.com/monaka/mruby into monaka-pr-add-mrb_ptr_as_string
rename mrb_ptr_as_string() to mrb_ptr_to_str()
Modified license information for mruby-random
Merge pull request #1056 from matsumoto-r/fix_random_license

Modified license information for mruby-random
add mt19937ar license (BSD) to LEGAL
Remove unused marco CODEGEN_DUMP.
Use mrb_bool instead of int. This is for portability; based on e767ebf but iv_foreach_func must return int
Use ptrdiff_t instead of int. This is for portability.
Add brances to macro parameter. It may be refactored as GET_UNPACK_{b,c} are used only by GETARG_{b,c}.
For particular environments which has 25 < n < 32 bit int. There is no cost even if you use 16/32bit int targets.
Remove __printstr__
Add mruby-print
Use size_t instead of int. This is for portability.
Merge pull request #1057 from mattn/mruby-print

mruby-print gem