`std.traits.hasFunctionAttributes` has been added

It exposes a user-friendly way to query for function attributes:
-------
import std.traits : hasFunctionAttributes;

// manually annotated function
real func(real x) pure nothrow @safe
{
    return x;
}
static assert(hasFunctionAttributes!(func, "@safe", "pure"));
static assert(!hasFunctionAttributes!(func, "@trusted"));

// for templated function types are automatically inferred
bool myFunc(T)(T b)
{
    return !b;
}
static assert(hasFunctionAttributes!(myFunc!bool, "@safe", "pure", "@nogc", "nothrow"));
static assert(!hasFunctionAttributes!(myFunc!bool, "shared"));
-------
