Better error message for update()

Improves the error message for update() when the existing value is the same as the new one, as suggested in #1254
Better error message for update()

Return error messages for both identical values and update failures.
Implement #522
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`
Extract WP_CLI_VERSION to a separate file

- Implements #680
- It is now possibile to set the version at build time (required for #1535): --version=x.y.z
- Keywords for incrementing the version number by one: --version=[patch|minor|major]
- When no arguments are passed, the old behaviour is preverved
- utils/update-phar takes an option argument: `update-phar [same|patch|minor|major|x.y.z]`
wp cli update - fix success message
update checker options

- change description of --patch and --minor
- introduce --ignore-patch and --ignore-minor
New function - WP_CLI::error_multi_line()
WP_CLI\Utils\increment_version() and tests
add a new line at the end of php/utils.php
Use WP_CLI\Configurator instead of Ulrichsg\Getopt\Getopt in utils/make-phar.php
Merge pull request #1539 from nyordanov/extract-version-info

Extract WP_CLI_VERSION to a separate file
Merge branch 'master' of github.com:nyordanov/wp-cli into issue-522
New behat feature for `wp cli` tasks

features/cli.feature:
 - wp cli check-updates should return at least one update after version 0.0.0
 - wp cli update should perform a successful update of version 0.0.0
Add a version param to "Given a new Phar"
Move version changes to make-phar.php

- make-phar.php gains a new optional flag --store-version which defaults to false.
  The script will change the contents of VERSION only if this is true.
  This is false when building temporary Phars with custom versions for tests.

- Because of that there is a new function set_file_contents() in make-phar.php
  This is similar to add_file(), but the contents of the new file are passed
  as an argument, instead of reading them via file_get_contents()

- Behat test for building a temporary Phar with a fake version
  Also ensure that VERSION is not modified
fix whitespace
Define wp_is_mobile() function

It's normally defined in `vars.php`, and some plugins / themes expect it
Merge pull request #1546 from wp-cli/1542-define-wp-is-mobile

Define wp_is_mobile() function
`wp cli update/check-update` arguments