chore(*): adhere to package structure of hexagonal architecture

Refactor package structure to better adhere to hexagonal architecture (i.e. Ports and Adapters).
More info: http://www.dossier-andreas.net/software_architecture/ports_and_adapters.html.
chore(*): rename application package to core