Add directory() config[:exclude_pattern] to prevent copying files that match certain regexp
Make error messages more helpful

When passing the wrong number of args to a command, it will now tell you
what args were passed.

This is useful in cases where it is unclear what the arguments are. For
example, we were invoking the binary from a script which was not
properly escaping the arguments that it was forwarding. This caused the
invocation `--option="1 2"` to be passed as `--option=1 2` and `2` became
an argument to the command, which took about half an hour to figure out
(plus, the hour my QA spent trying to figure it out herself before I
could look at it with her). If it had told me that it was receiving the
argument `2`, it would have been pretty clear that it was an escaping
issue.

I removed the arity from the message because in the case of optional
arguments, it would output a negative number, which is confusing for
non-rubyists.

I didn't include the signature, because 1.8.7 was listed in the
.travis.yml, and it does not have the ability to reflect on parameters.
Plus, again, if the end-user is not a rubyist, then that kind of error
message would probably be too technical. So instead, just print the
description.
Remove unused method bodies from fixture
Error message wording

Implements changes suggested by sferik in https://github.com/wycats/thor/pull/312

In the error messages for handling incorrect number of arguments

* Remove branch from if statement that will never be hit.
* Put error message on two lines
* Use "arguments" instead of "args"
Merge pull request #314 from cynicaljoy/master

Updated the README.md
Merge pull request #313 from elgalu/option_exclude_pattern

New feature: Add directory() config[:exclude_pattern]
Merge pull request #312 from JoshCheek/master

Make error messages more helpful
Added the method to allow for custom package name
Added the statement to determine a use of package_name
Added the PackageNameScript to spec
Added a fixture to test the package_name
Added a test for the package_name
I suspect nobody uses rake2thor...only one way to know for sure

Closes #281.
Prepare for version 0.18.0
Revert "Consider methods added via attr_* no commands"

Althugh there is an issue in here, the current implementation is
very brittle as looking into the stacktrace is not guaranteed to
stay the same across different ruby versions and ruby implementations.

This reverts commit fb149e3dd8b71124d194cee81e5f5f1f788be6c5.
Allow calling private methods on template names

This is an expected feature from Thor. When rendering files,
Thor behaves like Sinatra. It works as if the file was embedded
in the current Thor class. Therefore, restricting the filename
to be just public methods is a wrong limitation that does not
fit with how Thor is meant to be used.
Merge pull request #316 from josevalim/thor-reverts

Revert regressions found in 0.18.0
Add support for a default to #ask
Return if gets from stdin returns nil
Clean up method signature on ask* methods