Implement DIP42 - parameterized enum and alias declaration syntax

http://wiki.dlang.org/DIP42

I think alias declaration should also support additional template parameters for consistency.

The declarations allSatisfy and anySatisfy in the test case are not workable, because [issue 9073](http://d.puremagic.com/issues/show_bug.cgi?id=9073) (#1325) is not yet fixed.