Make Common BaseHeader define the OS specific incl

This commit makes the Common BaseHeader.h check the OS / Arch and use
the proper include.
Make Posix_common.h include Core headers

This commit makes the Common Posix_Common.h header file include the Core
headers. (On systems where / is not used for path seperation the build
would fail without altering the includes.)

This commit also moves some header includes into Posix_common.h from
FileUtils.h and Thread_Utils.h.
Remove arch / os specifics from FileUtills.h and

Thread_Utils.h.

This commit removes some of the includes that are os / arch specific
from FileUtills.h and Thread_Utils.h. (They were inserted into the
correct headers by the previous commits.)
Move LibraryID from Thread_Utils to Common namespa

This commit moves the LibraryID struct into the Common namespace.
(This is to allow other namespaces to use it.)

This commit also removes the Common::Thread_Utils::Get_Library_Name()
function. (It's redundant, if you have the LibraryID struct (which is
needed for the function to work) then you can access the Name
pointer directly.)