fix #1542
Merge pull request #1543 from Fleurer/issue1542

fix #1542
fix #1544

We have already reserved that register in codegen()'s case NODE_DEF, but
what we care about is actually the previous register. So what we need is
get that register by cursp() after pop(), then recover the reservation
by push().
add a regression for #1544
update test code to ensure return value from class statement
Merge pull request #1530 from h2so5/args-explicit-conversion

Disable implicit integer conversion in mrb_get_args
mrb_Integer() should not convert strings to integers
nil/false should not be implicitly converted to integers in mrb_get_args(); close #1529
Uniquify the results of Object#methods
fix #1550

emit a "\n" as the first token for parser instead of taking the
first character from the next file for lexer, to prevent mruby
"concatenate" two keywords between files

it should be regarded as a work around, for it can not resolve
this case:

$ cat a.rb
"
$ cat b.rb
b"

$ bin/mrbc -o- -v a.rb b.rb
mruby - Embeddable Ruby  Copyright (c) 2010-2013 mruby
developers
NODE_SCOPE:
        NODE_BEGIN:
                NODE_STR "

b " len 4
irep 0 nregs=2 nlocals=1 pools=1 syms=0
000 OP_STRING   R1      "\n\nb "
001 OP_STOP

thanks @bovi 's idea
fix wrong actual and expected order
preserve only arguments on stack; fix #1527
implement Class.new with block
type check class/module in mrb_get_args(); close #1477
Merge pull request #1510 from schmurfy/freebsd_fix

fixed compilation on freebsd releases witout log2 function
Merge pull request #1551 from Fleurer/fix1550

fix #1550
resolve conflict #1552
fix 3a4c8e2

unfortunately the previouse commit is incorrect, which still concate the
keywords, but like this:

      method='"end\nb"' (201)
Merge pull request #1553 from Fleurer/fix1550-cont

fix 3a4c8e2
restore context status to RUNNING on automatic yield at the end of the block; fix #1555