Check if auto -> decltype(this) is supported
Only use auto -> decltype(this) when supported

We build on gcc 4.6 and older again now.

This completely disables auto on broken compilers, rather than giving
us a separate macro to enable auto in methods where it's safe to do
so.  Although I prefer slightly more complicated code over "upgrade
your compiler or Antioch won't work", I do not prefer significantly
more complicated code over "upgrade your compiler or Antioch won't be
quite as optimized".