when command mode it should join the thread after invoke
Revert "when command mode it should join the thread after invoke"

This reverts commit 9c10a5e5de16d282db10c9c1eafa2657ab382278.
fix #149
$stdout is a shared data of all threads, so we must exclude other threads when it modify.
Since multi-threads may call Output.insert at same time (e.g. Core.error), it may causes a race condition.
Merge pull request #150 from authorNari/protect_insert_from_competition

Output.insert should be exclueded
Revert "Merge pull request #150 from authorNari/protect_insert_from_competition"

This reverts commit 161fc9019c91a045c14dddf7a1d12f92ca14c57b, reversing
changes made to dc7178cbde06aed26dd00c62e5c37acbdd50e940.
$stdout is a shared data of all threads, so we must exclude other threads when it modify.
Since multi-threads may call Output.insert at same time (e.g. Core.error), it may causes a race condition.
doesn't swap $stdout in recusive call.
Merge pull request #151 from authorNari/protect_insert_from_competition

Output.insert should be exclueded
require date before activesupport/core_ext

Work around a TypeMismatchError with Ruby 2.0 and
ActiveSupport 4.0.0 when only requiring core_ext.
Merge pull request #152 from jkraemer/fix_type_mismatch

work around for TypeMismatch error
modify to "Only supports Ruby 1.9 and later"
rescue EventMachine::ConnectionError at `reconnect`
better code
fix :plugin_install in case of github name has numbers
Merge pull request #156 from babie/fix-plugin_install-in-case-of-name-has-number

fix :plugin_install in case of github name has numbers
work around JRuby String.encode! issue

JRuby 1.6.7.2 (Ruby 1.9 mode) seems to have a bug in String.encode!
resulting in Encoding::ConverterNotFoundError being raised, however,
String.encode does not have this problem.

Call String.encode rather than String.encode! to dispel this error.