Tests: Updated test suites.
Fix, adapt to syntax error changes for unknown encodings.

* There is a "msg" attribute to exceptions that can override the
  older "reason" it seems.

* All newer CPython releases started to change the text for the
  unknown encoding error.

* For Python2, the ast.parse module still gives the old text and
  therefore needs to be manually treated there.

* Sadly, the name of the unknown encoding was not displayed, but
  the used in test, this is fixed now.

* In improved mode, the new style error messages will be used.

* Moved these sub version specific checks to a dedicated module
  that is going to host such things in the future.
Python3: Fix, need to use proper type for dictionary table indexes.

* Otherwise MSVC will issue a warning, making --debug tests fail.

* Unlikely a source of any error, this is mostly a cleanup.
New hotfix release.
Merge branch 'hotfix/0.5.3.1'
Merge tag '0.5.3.1' into develop
Minor cleanups

* Remove "exec" source code references, they are not used currently and
  won't be in the future.
Refactor target variable closure taking to be more immediate.

* Complex calls need no longer visit the closure taking helpers as
  they now do it all themselves immediately correctly.

* Class variables are created immediately with the proper provider.
Changelog updates
New pre-release.