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.
Backtick operation
fix the type of value that is returned by bit-shift expression.
 fix the type of value that is returned by bit-shift expression.
"Ax" is larger than 16-bit.
fix the type of value that is returned by bit-shift expression.
fix comment.
Use `
Use mrb_intern2
Use mrb_intern2() instead of mrb_intern(). This is for avoiding overhead by strlen().
Make intern_gen() inline. This is enough tiny to be inlined.
Add an internal function intern_c(). It reduces function call parameter. For maintainability and performance.
Add new API mrb_intern_cstr(). This is for naming orthogonality. mrb_intern is also left for backward compatibility.
Merge pull request #1040 from mattn/backtick

xquote operator
allow backtick as a symbol
add Enumerable#each_cons
add method(uniq, -, |, &, flatten, compact) and test of Array to mruby-array-ext
Add configuration macro MRB_PARSER_BUF_SIZE.
add Enumerable#each_slice
add Enumerable#group_by