Logging/error-handling overhaul.

- Adds colors for info, warning, error
- There is now a 'check_warn' macro that isn't quite as scary.