merge revision(s) 39772,39773,39774,39775,39777,39779,39781,39783: [Backport #8080]

	* configure.in: check struct timeval exist or not.

	* include/ruby/missing.h (struct timeval): check HAVE_STRUCT_TIMEVAL
	  properly. and don't include sys/time.h if struct timeval exist.

	* file.c: include sys/time.h explicitly.

	* random.c: ditto.

	* thread_pthread.c: ditto.

	* time.c: ditto.

	* ext/date/date_strftime.c: ditto.

	* include/ruby/missing.h (struct timespec): include <sys/time.h>

	* include/ruby/missing.h (__syscall): moved to...

	* io.c: here. because __syscall() is only used from io.c.

	* include/ruby/missing.h: move "#include <sys/type.h>" to ....

	* include/ruby/intern.h: here. because it was introduced for
	  fixing NFDBITS issue. [ruby-core:05179].

	* thread.c: disabled _FORTIFY_SOURCE for avoid to hit glibc bug.
	  [Bug #8080] [ruby-core:53349]

	* test/ruby/test_io.rb (TestIO#test_io_select_with_many_files):
	  test for the above.

	* include/ruby/missing.h: removed __linux__. it's unnecessary.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@39985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e