Fix readline issues on OS X

The readline issues on OS X seem to be triggered when Ruby's readline
library is built against libedit. I was able to experience the same
issues on Linux by building ruby with libedit rather than GNU readine.

Setting the pgid of the child process, and then requiring readline
seemed to make the process hang. This could be worked around by closing
the stdin of the child process in the Process.spawn call.

However various issues still remained (missing prompt, weird formatting
with pry, etc.)

Eventually I tried just requiring the readline library before changing
the pgid. This seems to solve all issues as far as I can tell.

If this turns out not to work then I think we should detect libedit (via
Readline::VERSION) and swap it out for rb-readline. However this is a
last resort as it may present other compatibility issues / bugs. I'd
rather be able to just use the readline that the user expects so there
are no surprises.

Closes #70

See also #34
invoke spring correctly
bump version
Teach commands to parse Rails env from command-line arguments

Some commands (e.g. `runner` or `console`) allow users to specify the
Rails env (e.g. `rails runner -e test` or `rails console test`). This
commit parses options passed to `spring (runner|console)`, using some
poor man's `optparse`.

Before - this would be the buggy behaviour:

    $ spring runner -e test puts\ Rails.env
    development

After - spring parses the `-e` option:

    $ spring runner -e test puts\ Rails.env
    test

Supported options are:

- runner -e some_env
- runner --environment=some_env
- console some_env

A side effect of this change is that `Command#env` may now return `nil`,
in which case `#rails_env_for` will fallback to RAILS_ENV, etc.