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
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.
small-optimization for mrb_time_zone

Using mrb_str_new instead of mrb_str_new_cstr
small-optimization2 for mrb_time_zone

mrb_str_new_static is more efficient than mrb_str_new in this case.
Merge pull request #1738 from cubicdaiya/issues/optim_mrb_time_zone

small-optimization for mrb_time_zone
Merge pull request #1737 from chasonr/Random-static-data

Implement default Random instance.
resolve conflict
Merge branch 'master' of github.com:mruby/mruby