Added automatic platform detection support

I have added the ability to have the compiler figure out the endianness for the target architecture. Currently, the code only identifies correctly for gcc, icc, and clang for ia64, i386, x86_64, powerpc (32 and 64), SPARC, and arm (32 and 64 bit). 

I made this auto detection support enabled by default in the makefile but included instructions how to disable it if the routines if necessary.