New package structure

Create a new package structure for sdt.core. The main motivation is to have a clear separation between API packages and internal ones. In future commits, the API will be refined, and plugins can freely use classes in those packages without worry of breaking changes (between minor releases). On this occasion, I reorganized all classes. If I knew how much work it was, I wouldn't have done it.

A couple of guidelines:

* no renaming of classes or files (only packages)
* no semantic changes (except removal of two files that were complete dead code)
* even obvious code duplication was left in place (to make this huge PR easier to review)
* added the editor API found in the play2 plugin to sdt.core (subsequently, this will be used by the worksheet, and remove more duplicated code)
* each commit handles one project (sdt.core, debug, tests, etc.) Consequently, only the last one compiles fine.

It is my sincere hope that this PR helps understanding the codebase (when updating imports, I often had to type them by hand, and I could easily guess where the class was), but I don't underestimate the disruption this brings. Looking for motivated reviewers!