Installer refactoring

This PR is based on [July Milestone](https://docs.google.com/a/percona.com/document/d/1fr5bVbn_Kgk4pYjQHqU_weScinDy3yQl96svz876Khc/edit#heading=h.fhfsn6tadrmv) and talks over stand-up calls.

New:
* One line install script (PCT-154)
  * Also includes note on api-key page: https://github.com/percona/percona-web-apps/pull/610 (Thanks Pablo!)
* Non-interactive mode for headless installation (PCT-772)
* Auto detection of MySQL credentials with `mysql --print-defaults` (PCT-777)
* Upgrade (PCT-594)
* Uninstall (PCT-780)
* Show link where to get the api-key (PCT-586)
* Better installation doc for end user, check [README](https://github.com/percona/percona-agent/blob/installer-refactoring/README.md) and [INSTALL](https://github.com/percona/percona-agent/blob/installer-refactoring/INSTALL.md)
* (almost) End to end tests (so next versions should be less prone to bugs)

Removed:
* Upgrade process from pt-agent

Bugfixes:
* With flag -create-mysql-user=false user was still asked if mysql user should be created, but if chosen to create it was not created. Now this flag works only for non-interactive mode as in interactive mode you simply answer question if you want to create MySQL user.
* If user changed his mind and would like to provide empty password then in some cases he was unable to do so as there is no way to figure out if he wants to use default or empty password
* DSN for created user was not verified
* Sometimes password was in plain-text (PCT-571) (Thanks Miguel!)
* Double "Try again? (Y)" loop - user was asked twice if he chose "N"
* Show DSN to user with password replaced by `<hidden-password>` instead of `...` so it is more obvious to user what this is. (Thanks Miguel!)
* Be more descriptive where to remove unused agents when agent limit is hit
* Upgrade detection (PCT-594) covers bug reported in PCT-695 (Thanks Nika for pointing this!), however the bug still needed to be fixed as one could uninstall agent and install new one hit the same bug (Thanks Miguel!)
* Upgrade detection (PCT-594) partially covers bug reported in PCT-600
  > 1) We should have install to do agent "update" if agent is installed unless
  > some option specified to clean up and do install from scratch.

  Covered

  > 2) We should not allow duplicate names of the servers (or aliases) - when
  > we automatically create server if for example db01 exists we should
  > create something like db01-new01 or something like that.

  Not covered

Missing:
* Installer should be better re factored and tested, but I'm postponing this as recent comments from Peter about installer leads me to believe this old installer (1.x) will be thrown away and new one will be written from scratch as Installer 2.0