Fix Socket#socketpair on X19.

Socket#socketpair `type` argument can accept
a symbol that references to a `Socket::SOCK_*`
constant.

    require 'socket'

    # Before

    Socket.socketpair(Socket::PF_UNIX, Socket::SOCK_DGRAM, 0)
    # => [#<Socket:fd 11>, #<Socket:fd 12>]

    Socket.socketpair(Socket::PF_UNIX, :DGRAM, 0)
    # => TypeError: Tried to use non-reference value 0x15a86 as type Bignum (10)

    # After

    Socket.socketpair(Socket::PF_UNIX, Socket::SOCK_DGRAM, 0)
    # => [#<Socket:fd 7>, #<Socket:fd 8>]
    Socket.socketpair(Socket::PF_UNIX, :DGRAM, 0)
    # => [#<Socket:fd 9>, #<Socket:fd 10>]

Fixes #2011.
Add specs for Socket#socketpair on X19
Add spec for Time#zone on UTC time.
Always set UTC for timezone for UTC/GMT
Document how to Build Rubinius for debugging purposes
Merge pull request #2008 from jmstacey/documentation_update_dev_build

Document how to Build Rubinius for debugging purposes
Remove old tags for Rational and Complex specs

The following commit moved some Rational and Complex specs. But didn't
update spec tags. Just remove them bacause it's now passing:
  1779c73 Rational()/Complex() should be Kernel specs
Merge pull request #2017 from ryoqun/rational-complex-tags

Remove old tags for Rational and Complex specs
Don't emit code for creating a block if not necessary

When we inline blocks succesfully in the JIT, we don't need to emit code
to create this block on the stack. This is only necessary when we either
fail to inline, or when emitting the uncommon case in the jit.

This implements a better version of the behavior removed in
897570e8ced9b2c902f867316fec56837c7e7081 because that was buggy. This
implementation handles more cases and also doesn't suffer from the bug
present in that implementation.
Allow for jitting aliased methods

We can simply use the original executable if we encounter an alias.
Make inline policies configurable

Fixes #1947
Adjust definition place of Enumerator#initialize

Before
-------
enumerator.rb: define
enumerator18.rb: none
enumerator19.rb: define

After
-----
enumerator.rb: none
enumerator18.rb: define
enumerator19.rb: define
Remove disused definition of ConstantScope#const_defined?

Before
------
constant_scope.rb: define
constant_scope18.rb: define
constant_scope19.rb: define

After
-----
constant_scope.rb: none
constant_scope18.rb: define
constant_scope19.rb: define
Fix coding style of inserting blank lines in Struct
Improve Struct.#members

* Adjust definition place of Struct.#members
* Improve converting type for own version

Before
------
struct.rb: define
struct18.rb: none
struct19.rb: define

After
-----
struct.rb: define
struct18.rb: none
struct19.rb: none

Thanks for the pointing out.
----------------------------
* https://github.com/kachick/rubinius/pull/3#issuecomment-10445468
* https://github.com/kachick/rubinius/commit/bbe2d556fe2f2858c1d6f27ee28e0485ee6a2d97
* https://github.com/kachick/rubinius/commit/4774b58148fdbba50de878c6496d8d6165868ba8
Use Struct#_attrs in Struct#initialize

For get consistency of coding in Struct.
Modify visibility of Struct#_attrs, "public" to "private"

This is a private method.
Because accessing inner data structures.
Merge pull request #2019 from kachick/fix/adjust_definition_places_of_some_methods_in_Kernel-common

Adjust definition places of some methods in Kernel-common
Merge pull request #2020 from kachick/improve/modify_some_coding_in_Struct

Improve some code in Struct
Merge pull request #2021 from kachick/improve/modify_visibility_of_Struct-_attrs

Modify visibility of Struct#_attrs, "public" to "private"