Adding New CLI Options

Heya, so these commits are basically adding some simple functionality to the following CLI commands:

- `tm-run`
- `tm-slave`
- `tm-spawn`

What I'm doing here is adding two new optional arguments:

- `--timeout`, and
- `--retries`

These both get passed to the `Client`, and allow the end user to control how long the client will wait for new tasks, as well as how many retries the client will attempt in the event of failure.

This is particularly useful for me, as I'm using taskmaster for a series of time consuming tasks, which aren't able to quickly yield results for workers (I'm doing a lot of logic before I can get to the yield, so in many cases, my workers will timeout, thinking the server has finished collecting all tasks).

This would allow me to solve my problem on a case-by-case basis by increasing the default timeout and retries CLI options.

What do you think?