New implementation of parseFilePath
Hashed out with SyntaxNinja, Lemmih and Igloo. Basically, a file path can be either something "simple", defined by the regex [-+/_.a-zA-Z0-9]+ or it can be a quoted Haskell string, with all the bells and whistles that the Read instance allows. E.g., if you need commas or spaces or something funky in your paths, use string syntax. Oh, and you should only use '/' as directory separator, cabal should convert it to a proper separator based on the platform it's running on.