Core API

First part of Core API. Contains:
- Datatypes,
- Core construction functions (~AbstractCore)
- HsName Wrapper

The changes in the non-API files are just additional Haddock documentation and/or haddock fixes, so it shouldn't break anything. I can also remove the haddock fixes for the CoreRun part from this pull request if you prefer.