Allow top level ticked string literals

Authored by niteria on Mar 2 2018, 7:33 AM.

Description

Allow top level ticked string literals

This reverts f5b275a239d2554c4da0b7621211642bf3b10650
and changes the places that looked for Lit (MachStr _))
to use exprIsMbTickedLitString_maybe to unwrap ticks as
necessary.
Also updated relevant comments.

Test Plan:
I added 3 new tests that previously reproduced.
GHC HEAD now builds with -g

Reviewers: simonpj, simonmar, bgamari, hvr, goldfire

Subscribers: rwbarton, thomie, carter

GHC Trac Issues: Trac #14779

Differential Revision: https://phabricator.haskell.org/D4470