Version 0.12.20

Milestone version with a complete architectural revamp.

+ Executor module had been refactored out of payments.
  This change resulted in many structural improvements.
  First of all, there is no more need to convey signals from executor into other
  system components through payments. Instead, executor is now a separate entity
  which resides in its own module. Only gui module can now interact with executor
  directly and most of gui module tasks consist of linking system components together.
  Due to this change session-related functionality had been moved to gui module from payments module.
  Also, since executor is no longer available inside payments.Payments class all its interaction
  with outer world is done via signals.
+ card.Card now have a notion of access level and an appropriate property to describe own access level.
  There are admin, operator and config access levels.
  card.Card class now also supports antipassback option in constructor (with default value: False).
+ Every widget under main screen tabs can now define its own reaction for session begin/end.
  gui module handles new_operator signal from executor, implements session management
  and informs every top-level widget about session begin/end changing their tab status
  according to their reaction.
  This change made possible strict ordering of LocalDB object initialization,
  since terminals.Terminals can only start its own mainloop after session begin from
  a user with appropriate access level.
  Terminals got their own share of changes: since mainloop now provides a signal to
  mark the end of its operations. Terminals will automatically restart their mainloop
  during active session. Thus, its possible to restart terminals mainloop just by
  stopping it without ending current session. This feature is being used implicitly
  by config_ui module that waits for terminals mainloop startup signal after every
  configuration change.
+ Multiple improvements has been made to make running stoppark on Windows possible.
  This greatly simplifies debugging and development of new features.
  + config module differs between OS its being run and set its contents appropriately.
  + safe_socket now creates tcp sockets when unix sockets are unavailable.
+ db.LocalDB had been greatly improved by utilizing state-of-art sqlite3 features
  like shared cache and WAL journal mode. LocalDB now also support optional db initialization.
  Since we can now define an order for db initialization, only Executor performs it,
  while Mainloop.db simply starts on a correct database after session beginning.
+ config_ui module now includes new tab for general configuration.
  + config_ui module provides specific set of capabilities for every access-level.
  + implemented version information display ().
  + implemented date/time setup.
  + implemented remote database ip setup.
  + implemented network connection setup using wicd package from debian wheezy.
    Network connection setup button starts wicd-curses program in xterm window
    with a full-fledged matchbox keyboard.
  + implemented antipassback configuration (on terminals tab).
+ Great improvements have been made to view.qml. Combining
  "highlightRangeMode: ListView.StrictlyEnforceRange" with "when" option for states
  removed much of uncertainty in tariff view operation.
+ Login/Logoff widgets now include information about card access level.
+ Every new string in project had been localized after addition to translation file.
Merge branch 'master' of https://github.com/stdk/stoppark_panel