Better support for multiple architectures

Through a nice CMake module I've found a much better architecture
detection, much better than testing out sizeof(void*). This will make
more a solid ground for much more possibilities, it stills need to be
tested.
Final polishing

Much better architecture detection plus some really nice formatting of some source files.