Adds task_server
Adds support for passing in auth file location
Adds ability to use a named auth file
TESTS!

Adds tests for task_server
- I learned how run the task_server in a thread for testing
- Adds lots of tests
TODO:
- Finish tests
- Complete rest of task_server functionality
- Better error handling in task_server and task_engine
Fixes connection testing

Tests server for responsiveness before beginning tests
Adds a timeout clause to the communicate()
TODO:
- Figure out why I have to write to the server before I can successfully
  close the connection
Moves executables to lib/task_engine/

Changes structure:
- All code for task_server is now a library file
- Executable is a simple wrapper in bin/ to run the library code
- I think this is more consistent with gemfile standards
Updated tests with new structure
Adds asychronous updates, toggle_status command

- Updated to serialize task_engine for immediate startup
- toggle_status updates status asychronously locally and remotely
- Also: tests updated, select_tasklist fixed, working test for
  select_tasklist added, guardfile updated for new app structure
task_server: Adds update_task_title, refresh

- And associated tests
- Switches to comma delimited syntax for server commands