Add colour support and log functions.

The colouring is nice for people with shells that support it and will
give them a better idea of which messages they should pay attention to
and which are more meant as informative.

The log functions additionally add a 'loglevel' indicating the severity
of the message and the timestamp when this message was logged. The time
isn't strictly necessary but it's a common thing to do when logging
messages and will give people a sense of the elapsed time, if any.

The output will now look something like this:

```
12:53:26 +0100 INFO: Defaulting to latest version if no options given
12:53:26 +0100 INFO: Downloading Puppet 3.4.2 for mac_os_x...
12:53:26 +0100 CRIT: Sorry mac_os_x is not supported yet!
12:53:26 +0100 CRIT: Please file a bug report at https://github.com/petems/puppet-install-shell/
12:53:26 +0100 CRIT: Version: 3.4.2
12:53:26 +0100 CRIT:
12:53:26 +0100 CRIT: Please detail your operating system type, version and any other relevant details
```