[WIP] Split update process into steps

Three tabs: Done - Current - Next
![steps](https://cloud.githubusercontent.com/assets/991300/3844409/dadaf3d2-1e48-11e4-8880-ae38fbb2525f.png)

Improvements:
- process split into the three steps: Permissions check & Backup, Download & Extract, Replacing files;
- step titles at the top of the page;
- complete file permission check before doing anything;
- no need to reload the page  to recheck permissions if this step is failed;
- new package is downloaded into the own updater directory instead of tmp;
- new package can be reused next time if this (or next) step is failed;
- server errors (500) are handled correctly. Update log asks an user to check server log file;

TODO:
- add some sort of spinner (?);
- check if zip archives are supported on the target system;