more mrb_flo_to_str fixes

- remove float check (take mrb_float instead of mrb_value)
- support -0.0
- fix range error if log10 is called when n == 0.0
- MSVC older than 2013: add signbit macro (for double)
mrb_flo_to_str: internal linkage
use mrb_intern_lit in mruby-random
add 'd' format specifier to get data pointer directly from mrb_get_args
use 'd' format spec to get Random object
limit preserved significand length
Always include build_config.rb to compile dependency.

build_config.rb modifies `cc.defines` (eg. `DISABLE_GEMS`) so files depending on such flags should be rebuilt.

Ref. (Failing scenario): https://gist.github.com/cho45/9181191
add MRB_ prefix to STRINGIZE macro
Add target example for Intel Galileo board
Merge pull request #1721 from take-cheeze/d_format_spec

add 'd' format specifier in mrb_get_args and mruby-random gem improvement
avoid accessing uninitialized string; ref ac936fc
Merge pull request #1735 from h2so5/limit-significand-length

limit preserved significand length
Merge pull request #1734 from kyab/add_galileo_config

Add target example for Intel Galileo board
Merge pull request #1733 from take-cheeze/mrb_stringize

add MRB_ prefix to STRINGIZE macro
Merge pull request #1732 from cho45/depend-build-config

Always include build_config.rb to compile dependency.
add ruby and C code execution order note
Merge pull request #1736 from take-cheeze/doc_update

add ruby and C code execution order note
initialize sname before interning
clarify fallthrough in the switch statement
Implement default Random instance.

Previously, the default random number generator was implemented using static
storage.  This storage is common to all instances of mruby in a process, and
use of the default random number generator in one instance will perturb the
default random number generator in other instances.  It is also not thread
safe.

With this change, the default random number generator is defined as
Random::DEFAULT, as it is in CRuby.