install llvm-general < 3.4 before installing other dependencies

This should fix our dependency problem and we should be able to remove the
version for llvm-general from the cabal file.
Revert "Revert "cabal-file: remove version restriction""

This reverts commit bb947380510f0c651f860a7389984f43cccadb8b.
travis: quote version of llvm-general to fix build bug
Merge branch 'llvm-general'

Conflicts:
	.travis.yml
Remove Unicode BOM from files hlint complains about.

Behold, now hlint can parse more files and we have four times as many
warnings as before! Yay!
Lexer: Many small fixes to satisfy hlint.