Implement #reduce and #inject properly

Inspired by Rubinius' version.

One test is failing due to how Topaz unpacks block arguments.