Merge ruby-llvm/ruby-llvm#16

Added fixes for scalar transform symbol names.

Squashed commit of the following:

commit 92321f5660183700aa03c58f90e1a6b2fa58bbd5
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Tue Jan 22 00:48:58 2013 +0400

    Add constant int_to_ptr and ptr_to_int.

commit ed0389f30d6f5c7a61f346f4bbab12d484b6c5b7
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 15:11:22 2013 +0400

    Reword the JIT passage in readme.

commit 1a61cf7e2adfd99f39dfa369fe9e9cb49ab6f2a0
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 14:56:10 2013 +0400

    Add missing nsw/nuw instructions (ruby-llvm/ruby-llvm#10).

commit 969a04427ef133424d174294334d7f5cbb583a40
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 14:46:03 2013 +0400

    Add missing arithmetic operations on constants (ruby-llvm/ruby-llvm#10).

commit e69d2db7334512a6bd6abd5dd9710d24af4fee55
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 14:31:46 2013 +0400

    Add missing indirectbr instruction (ruby-llvm/ruby-llvm#10).

commit 2a7b342b126cf7a94d907a197f7e34b29ebefe1c
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 13:59:42 2013 +0400

    Add missing scalar and IPO passes (ruby-llvm/ruby-llvm#10).

commit e619a834b925cbe647cd46a92975ce4183a8701e
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 13:18:44 2013 +0400

    Remove stray comment.

commit 6dcebc12399c81d782b83e32b05b5920332e733c
Author: Peter Zotov <whitequark@whitequark.org>
Date:   Mon Jan 21 13:17:54 2013 +0400

    Fix LLVM.with_message_output.

    One should first check for the return value, which is consistently
    LLVMBool with True indicating an error, and only then try to fetch
    the message.