merge revision(s) 39354,39356,39382: [Backport #5014]

	* signal.c (sigsegv): avoid to use async signal unsafe functions
	  when nested sigsegv is happen.
	  [Bug #5014] [ruby-dev:44082]

	* signal.c (check_stack_overflow): extract duplicated code and get rid
	  of declaration-after-statement.  [Bug #5014]

	* signal.c (ruby_abort): fix typo in r39354 [Bug #5014]


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