initial CMake test
First attempt for CMake definitions.

Still OSX only.
Pushing cmake further: compile on OS X

With the given cmake-config, it is possible
to compile the Self-VM from both Xcode and makefile
generated projects.
Both fail to link, still.
Friend or Foe? Cope for differences in gcc/clang

Gcc and clang are handing 'friend' functions differently
when they are defined within a class but declared outside.
Additionally, gcc's interpretation of this changed a few
years ago (-> -ffriend-injection).

In order to make self compile with both,
a) true 'friend' functions have been left mostly as is,
   probably with its definition moved into in a .cpp file;
b) 'friends' that are such just as to allow a shorthand invocation
   are now just 'static' and hence have to be fully qualified
   (eg, findNMethod(void*) => nmethod::findNMethod(void*)); and
c) 'friends' that are actually special constructors have been made
   into static functions, as well, but are also given a top-level
   namespace name via a static inline (eg, as_memOop(...)).

For a few other functions, way c) is also taken.
Typo in an assembler file
Extend the CMake pre-build system. Now works on OS X 10.6

This change makes it possible to build Self on OS 10.6
with
	either Xcode or make
and
	either gcc or clang
(that makes 4 combinations) plus the respective Debug/Release/...
configurations.
Merge branch 'master' into cmake

* master:
  Typo in an assembler file
  Friend or Foe? Cope for differences in gcc/clang
This refactors the build-support for OSX.

Specific build-support tools are now in build_support/${platform}.
Also, this commit enables the proper use of an OS X Info.plist.
CMake-variables that exist for linux but are somewhat irrelevant on osx.
the -arch flag for assembling is relevant on osx only
Rename assembler files to uppercase S, as they need preprocessing.
Reflect changes to file names in HEAD^1
Merge branch 'cmake' of github.com:krono/self into cmake

* 'cmake' of github.com:krono/self:
  CMake-variables that exist for linux but are somewhat irrelevant on osx.
Merge branch 'cmake' of github.com:krono/self into cmake

* 'cmake' of github.com:krono/self:
  Reflect changes to file names in HEAD^1
  Rename assembler files to uppercase S, as they need preprocessing.
CMake support files and changes for Linux
Merge branch 'master' into cmake

* master:
  Adapt Linux makefiles for newer compilers.
Merge branch 'cmake' of github.com:krono/self into cmake

* 'cmake' of github.com:krono/self:
  CMake support files and changes for Linux
Refactored osx cmake framework specifiaction
On certain platforms, we need to specify libdl directly
Cope for the assmbler renaming in the CMake functions, too