support freebsd versions without log2 function
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
Merge branch 'master' into iij