Fix: Problems with `True and `False constructors in original syntax

This resolves the problematic edge-case of using `` `True `` and `` `False `` constructors in original syntax.
See the modified test case for an example.

Relevant issues in the OCaml bugtracker:
* http://caml.inria.fr/mantis/view.php?id=4520
* http://caml.inria.fr/mantis/view.php?id=4705
* http://caml.inria.fr/mantis/view.php?id=5778

Relevant commits:
* eb11b9507177946af8eda5d913995930adaa40b4
* d7596d10b55c0d586a7059a9f5d34e52a523b41b
* fef654ed9d5df8031cb3399019ab2d7bc7a3d8c3
* 4316d60e3e3f2506deb72faf244528d383ac5c02