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