Merge pull request #1 from willtim/master

Directory support
add cabal sandox to gitignore
add support for more entities

List of recognized entities is extended with:
  - operators - tags for operators are reported
  - operator type constructors (e.g. g :: (f :**: a) z -> z)
  - infix types (e.g. g :: f `Foo` a -> a)
  - operator constructors (e.g. Expr :+: Expr)
  - infix constructors (e.g. Expr `Add` Expr)
  - strict fields (e.g. Cons !a (List a))
add more tests, change tests for operators

Operators are tokenized as '(', *, ')' sequence of tokens,
and it seems to be useful in pattern-matching.
use cpphs to unliterate *.lhs files
fix tests exetuble build

Cabal does not pass -main-is flag to ghc since its ghc-specific
flag so ghc confuses Main.main and Main_test.main functions for
test-fast-tags executable.

Moreover, assertions used by testing facility will be removed once
optimization is applied, so optimization is disabled explicitly as well.
add more options, add reading of \n- or null-separated file list from stdin if no files were provided
fix treatment of haskell operators with semicolons, e.g. .::
fix generation of vi tags by default
consider # to be part of symbol
do not filter files read from stdin