Implement new build system

The old build system was based on recursive make-calls,
while the new system uses recursive Makefiles that include
each other and use a compositional approach to construct
complete dependency trees between the different modules and
their interdependencies.

Due to all the files becoming one large Makefile, one can use
simple Makefile rules to extend system everywhere.

This refactoring also removes a large number of unused options
and tries to simplify some parts of the old build system and is
usually about 40% faster when building on multi-core machines.
Merge pull request #212 from bastih/feature/newbuild

New build system landed
Updating settings default to mention that we have a mysql option
Per default, hyrise selects from available g++-s
Merge pull request #215 from bastih/master

Per default, hyrise selects from available g++-s
Fix incorrect passing of debug/release flags
Merge pull request #216 from bastih/master

Fix incorrect passing of debug/release flags
Remove .bin extension from binaries
Merge pull request #217 from bastih/master

Remove .bin extension from binaries
Clean up .gitignore
Add initial support for link time optimization builds
Merge pull request #218 from bastih/master

LTO integration and gitignore cleanup
Including missing library.
Merge pull request #220 from kaihowl/fix/buildLibs

Including missing rt library.
Fix dependencies so that make does not keep going after an error
Add like expression for string regex comparison
Merge remote-tracking branch 'upstream/master' into feature/LikeExpression
Merge branch 'feature/LikeExpression' into feature/TPCCHQueries
Merge remote-tracking branch 'origin/feature/LikeExpression' into feature/TPCCHQueries