[enh] Issue 3673 - Allow putting constraint after inheritance list

Will the syntax files in dlang.org have to be fixed? Let me know..

I don't even know why we've used the awkward "constraint followed by base class list" syntax before, it looks rather ugly:

```d
class Foo(T)
    if (is(T == bool)) : Base 
{ 
}
```

Now allowed:

```d
class Bar(T) : Base
    if (is(T == bool))
{ 
}
```

http://d.puremagic.com/issues/show_bug.cgi?id=3673