Shell#ask: support a noecho option for stdin
Update Ask documentation and change API to be :echo => false
Replace stub! with stub
Replace should_receive with expect...to receive
Replace stub with allow...to receive
Replace mock with double
Replace any_instance with allow_any_instance_of
More consistent punctuation
Fix tests to reflect punctuation changes
Merge pull request #355 from athaeryn/consistency

More consistent punctuation
Displays a message without a stack trace for ambiguous commands
Merge pull request #357 from ssrihari/master

Displays a message without a stack trace for ambiguous commands
extract DynamicCommand into separate method so it's easier to override and provide your own command class.
Fixes #285 - Process a command's options when it is executed with invoke
Merge pull request #359 from lucas-heinlen/command_options_on_invoke

Fixes #285 - Process a command's options when it is executed with invoke
Merge remote-tracking branch 'socialcast/stdin-noecho-support'

* socialcast/stdin-noecho-support:
  Update Ask documentation and change API to be :echo => false
  Shell#ask: support a noecho option for stdin

Conflicts:
	spec/shell/basic_spec.rb
Remove and_return from negative receive assertion.
Fix table spec.
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.