bug fix: the argument of '--sysroot' option should be followed '=' character.
bug fix: add new option '-mandroid' into CFLAGS and same options are applied into LDFLAGS.
refactoring
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 a new feature to select the target architecture.
add a new feature to select the target Android platform.
more CFLAGS and LDFLAGS are specified automatically.
Remove a meaningless type cast.
Add comments for paradnoid (a.k.a. mission critical) engineers.
Use int. They are no need to use unsigned/signed long. Think about 16bit architectures.
Copy to *lenp just in case lenp != NULL.
Use mrb_int as possible.
mrb_sys_fail raises SystemCallError if we have it.
Merge branch 'master' into pr-systemcallerror
Merge branch 'master' into pr-systemcallerror
mrb_str_new2 -> mrb_str_new_cstr
set DATA_TYPE as soon as possible.
Add the type check in mrb_str_to_cstr().
Simplify. Temporary variable "i" is removed.
Extract stack zero filling to stack_clear(). Porting evelopers can optimize by replacing to memset() on their own risk.