use NAN and INFINITY

The macro str_to_mrb_float (strto[df]) converts a string to a number,
but these two macros can be used to directly get the special value.

The NAN macro requires quiet NaN support, but so does str_to_mrb_float.

This change also circumvents missing C99 support in Microsoft's C library.
Its (or ISO C90's) strtod doesn't parse "nan" or "inf".
MSVC: add NAN and INFINITY for older versions
remove invocation of strlen() on buffer of strings; with refactoring
use mrb_str_cat_lit for literals
Merge pull request #1834 from cremno/use-nan-and-infinity-macros

use NAN and INFINITY macros
Merge pull request #1833 from cremno/use-mrb_str_cat_lit

use mrb_str_cat_lit for literals
Merge branch 'master' of github.com:mruby/mruby