Merge branch 'release/0.5.0' into devel
Added non-completed module  for reverse engineering (only columns select)
Added query for getting complete relations info
Fixed setting type null for new columns at table dialog when type not changed
Added reengineering dialog and socket.io connection + reeng routes

Added `async` and `socket.io` modules. Added dialog for database
reengenering that communicates over websocket with server and receive
information about tables and relations.
Removed old script `queries` fixed position of dialog bg layer
Fixed db queries for reverse engeneering, improved reeng dialog gui

Added missing single quotes into queries for reverse engeneering. Input
dialog for entering database password changed to `password` type. All
inputs at same dialog aligned to the right.
Added getting db version and creating reengineered model
Added `ModelManager` and cleaned main script, fixed dialog background position
Added `check All` checkbox into Reeng dialog at tables selection
Added simpleInputDialog for inputing model name, added model name to statusbar
Added `saved` status and handling of page unload
Added canvas clearing when new model is created
Fixed `beforeunload` for save model action
Fixed creating unique column names at table model, fixed `test-data` script
Fixed loading model from file -> old columns list vs new columns keys object
Fixed setting dialogs `visible` state
Fixed loading model with renamed columns, fixed setting column's unique name

Foreign key columns that was renamed before save have now correct name
even if they were created by relation. Fixed setting unique name for
existing columns.
Fixed reengeneering to work correctly with composite keys
Added ordering of table columns when reengeneering from db