add RUBY_ENGINE; ref #576
Clang and ICC/ICL: define DIRECT_THREADED

This is most likely only needed on Windows be-
cause __GNUC__ is not defined by both compilers.

It might fail with some unusual configurations.
If that is the case, feel free to open an issue.
 mruby-math: remove Cygwin compatibility macros

nan:
 The first non-test release of Cygwin 1.5.x was over a decade ago:
 <http://cygwin.com/ml/cygwin-announce/2003-09/msg00001.html>

log/log10:
 This workaround is not needed anymore (1.2.6.1, 1.3 - both over 6 years ago):
 <https://sourceware.org/cgi-bin/cvsweb.cgi/src/newlib/libm/math/w_log.c?cvsroot=src>
Rakefile: make bin directory
array implementation: several small changes

src/array.c:
 - make various functions without declaration in the mruby headers static
 - removed all uncessary int casts and two useless comments
 mrb_ary_new_from_values: move to similar functions
 mrb_check_array_type: fix indentation

include/mruby/array.h:
 mrb_shared_array: padding (default "mrbconf.h" on an usual 64-bit system)
                   sizeof(mrb_int)==sizeof(int)==4 && sizeof(mrb_value*)==8

both:
 mrb_ary_aget:  remove declaration in header and make static
                nobody uses it which is not surprising since it has 1 req arg!
 mrb_assoc_new: small optimization and move to similar functions
 mrb_ary_len:   re-implement as static inline function (it is used by mrbgems)
                programmers should directly use RARRAY_LEN instead
Merge pull request #1693 from cremno/mruby-math-rm-cygwin-compat

mruby-math: remove Cygwin compatibility macros
Merge pull request #1695 from cremno/clang-and-icl-define-direct-threaded

Clang and ICC/ICL: define DIRECT_THREADED
Merge pull request #1694 from cremno/rakefile-mkdir-bin-path

Rakefile: make bin directory
Merge pull request #1697 from cremno/array-changes

array implementation: several small changes
include mruby/version.h in mruby.h
remove direct inclusion of mruby/version.h from version.c; #1698
hash / hash-ext: various small changes

src/hash.c:
 - mrb_hash_(aget|aset|dup|delete): internal linkage
 - remove documentation of methods which are not implemented (in here)
 - remove #assoc; unused, not in ISO spec
 - remove #rassoc: same, implementation is also wrong

hash-ext mrbgem:
 - remove header "mruby/khash.h"
 - remove mrb_hash_values_at (move code into hash_values_at, i: long -> int)
 - less whitespace in gem_init function
dump.h: parenthesize negative errnos
remove mrb_str_literal declaration

definition was removed in 677a2ac
mrb_str_cat2: deprecated since 0cedf8f
MRUBY_VERSION should be only numbers separated by dot, like JRUBY_VERSION or Rubinius::VERSION
Merge pull request #1701 from cremno/do-not-use-mrb_str_cat2

mrb_str_cat2: deprecated since 0cedf8f
Merge pull request #1704 from cremno/rm-mrb_str_literal-decl

remove mrb_str_literal declaration
Merge pull request #1703 from cremno/parenthesize-mrbdump-errnos

dump.h: parenthesize negative errnos
Merge pull request #1705 from takahashim/version-number

MRUBY_VERSION should be only numbers separated by dot, like JRUBY_VERSION or Rubinius::VERSION