Begin work on major core and API rewrite
Move packages around appropriately
Merge branch 'master' into core-rewrite