Added Clang output macros and simplified GCC ones.
Replaced include guards with #pragma once.
Added licencing information to source files.