Make say and say_status thread safe.

The current `IO.puts` implementation makes two separate writes: one
for the message and another for the newline char when necessary.

Having multiple threads calling `puts` can lead to interleaved
messages with repeated newlines in the output.
Merge pull request #362 from britto/thread-safe-say

Make say and say_status thread safe.
Add failing spec for Shell::Basic#no? when called with misc. data.
Rewrite Shell::Basic#no? to properly handle misc. input
Warning removed for ruby-head
Merge pull request #371 from arunagw/master

Warning removed for ruby-head
Replace be_false with be false
Replace be_true with be true
Replace be_nil with be nil
Replace have with size
Enable fast finishing builds
Object#extend is a public method
Merge pull request #373 from amatsuda/extend

Object#extend is a public method
Merge pull request #369 from sirbrillig/correct_default_on_no

Correct Basic#no? for misc. input
fix so that exist is allowed to be called in tests
Dependency for console io version check

Dependency for this library can only be made if you are on ruby 1.9.3 or
later.
Update basic.rb

line not needed in 1.9.3 or 2.0 either.
Merge pull request #380 from developingchris/fix_build_192

Fix build 192
Use mime-types 1.x for Ruby 1.8.7 compatibility.
Specify mime-types 1.x for Ruby 1.8 only.