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'