Logging, first pass.
Restructure impromptu script control flow.

* Fixes bug where the socket server's child process wouldn't refresh the prompt cache.
* Adds the ability to use Impromptu simply for its caching abilities: if no prompt sections are specified (or the prompt is blank), default to the pre-existing prompt.
Rename the 'background' script to 'refresh'.
Fix tests for refresh option.
Adds a flag to immediately print the prompt.
Ensure the exit code doesn't record over itself.
Streamline server start control flow.
Some comments.
Rename main impromptu and impromptu-server scripts.
Update variables for managing a server's child processes.
Add shell utilities for server connections and printing the Impromptu environment.
Add CLI commands to start and shut down the server.
Always check if the server's pid file exists before pinging the server.
Shut down the Redis server after all tests have completed.
Improve server commands. Allow the server to run in the foreground.

* Run the server in the foreground with `impromptu server start --foreground`.
* Improves the server's safe shutdown by waiting for all connections to complete before terminating.
* Adds a utility for pinging the server.
Add a command to kill all impromptu-related processes.

Kill all impromptu-related processes with `impromptu kill`.
Handle Ctrl+C and PID file management in the node server.
Add stdout and server logging destinations.

This allows information to be logged to both stdout (even when running through a server) or the server's console.
Make impromptu-utils executable.
Only record the last exit code before printing a prompt. Limit the utils to being included once.