Structure refactored and added filesystem exceptions

Portability defenitions and exceptions moved to /include/core