Sort templates alphabetically in `list` output.

The `list` command was just displaying templates in the order that Bintray
returned them. Bintray may have returned them in alphabetical order, but it's
definitely not doing that at the moment. So `ListCommand` now sorts the
template names itself.
Merge stdout and stderr for functional tests.

It was difficult to verify the order in which Lazybones printed stuff to the
console, particularly with stacktraces, because two separate threads were
consuming the output from stderr and stdout. This often left stacktraces and
normal output interleaved.

I now use `ProcessBuilder` explicitly and configure it to merge stdout and
stderr, which eliminates the interleaving problem.
Handle case when `generate` called in wrong directory.

The `generate` command has to be invoked within a directory that has a
.lazybones sub-directory. Although no exception was thrown in this case, the
error was hardly informative. This case is now explicitly handled with an
appropriate message that tells the user that they are not running the command
in a Lazybones-created project directory.
Support offline usage properly.

Implements issue #67. The `create`, `list` and `info` commands now gracefully
fail with suitable error messages if Lazybones is running offline. In fact, the
`list` command will still work, it just won't display remote templates.