Refactor project structure.

*This includes the separation of the custom practice and questions. Also the directives and services that this two feature have in common were moved to a common place. Still improving it.