Fix/translation3

In the after math of #282 the last commits in that pull where reverted to fix windows compatibility.

This however also meant losing safety for multiple translation units, always allocating all tables (even if not used) und having a cluttered tag-group instead of an enum.

This pull should bring those features all back in while still working on windows.

I haven't verified the latter for lack of windows, but will monitor the nightlies, if the other tests succeed.

[this pull request supersedes #451 which had a broken commit history and unnecessary manual merges. ]
We want to get rid of error return codes. Please change all following int-returning functions into void functions.
As you don't expect an error, you should use SEQAN_FAIL("your message").