The existing grammar was causing discriminant constraints in
allocators to be incorrectly parsed as function calls. This change
modifies the grammar to more accurately follow the grammar of the
language and corrects the issue.
Updated the test corpus to add additional allocator tests with
numerous subtype indications and qualified expressions for more
extensive testing.