Use gcc's config system for predefined OS versions
Update last merge with suggestions in thread.
Merge d-builtins sources.
Functions in templates may still need a static chain

isnested==false for a template instance only means that the template
instance does not have nested parameters from the instantiation
scope (e.g. alias parameters). But it can still use variables from
it's declaration scope.
So we can only assume that a function in a template doesn't need
a static chain if we additionally check that the template's
parent is a module.
Nested structs may need static chains as well

The old code only checked for nested classes, but nested structs
may also need a static chain. Also a nested chain must propagate
through template instances.
Must handle 'degenerate closures'

Those are constructs that would need to be closures if they had escaped
local variables. As they don't escape local variables we can save the
frame pointer and don't need to make them a real closure. At the same
time we can never set a static chain for those functions as they can
be called from outside.
Nested template instance function must be weak/one-only

With the last commits it's now possible to have nested functions
which are also template instances (see runnable/gdc.d test). This
means we have to make those nested functions weak to make sure
they get merged with other template instances. The check in
d-objfile prevented exactly this case from working. It's unclear
if the check is still needed at all as it was written for an old
gcc version. The test suite shows no regressions when removing it.
Add test cases for issue 35

The last commits also fixed issue 35.
Remove D_DECL_IS_CONTRACT macro.
Update Makefiles
Remove unused d-make-include reference.
Remove total.h, unused GDC_EXTENDED_ASM_SYNTAX.
Remove d-gcc-tree.h
Merge D Frontend to 2.062
Merge libphobos/druntime
Inline template function instances

Functions which are marked as DECL_WEAK are not inlined by gcc as
they could be replaced with a completely different implementation
at link time.

We know that our template instances will always be identical so
they should be inlined. The solution is to mark the template
function instance as DECL_DECLARED_INLINE_P as it's also done in
C++.

This also applies to DECL_ONE_ONLY functions as make_decl_one_only
also sets DECL_WEAK.

Related discussion on gcc-list:
http://article.gmane.org/gmane.comp.gcc.devel/130242
Merge branch 'master' of https://github.com/D-Programming-GDC/GDC

Conflicts:
	gcc/d/Make-lang.in
	gcc/d/d-builtins.c
	gcc/d/d-lang.cc
	gcc/d/dfrontend/parse.c
	libphobos/libdruntime/core/bitop.d