Refactoring and better errors

Changes to WP_CLI::error():
- can now take an array of lines, which will be printed in a red box, similar to Composer's exceptions
- new boolean $exit param - if false will not exit(1); defaults to old behaviour

Both loggers get a new error_box( $message_lines ) function

`wp cli self-update` is now `wp cli update`