Revert "Highlight with 0 or more occurrences."

The original commit has been identified as the cause for Emacs freezing up
during font-locking. This revert closes #190 and fixes #182.

This reverts commit 05a46adc1def7f699e5e83db02e21f42ee799253 (re #160).
Improve top-level declaration font-locking in presence of newlines

This commit is a 2nd attempt at what b458cdf (re #160) tried to
accomplish. To keep it simple, only a single optional newline is
tolerated after the top-level identifier. Moreover, in case Bird-style
syntax is active, this feature is disabled altogether.
Add new `haskell-cabal-find-pkg-desc` defun

This is basically a port of Cabal's `findPackageDesc` function[1] but
without the exception throwing. This function attempts to match
closely Cabal's algorithm for locating the `.cabal` file.

 [1]: http://hackage.haskell.org/packages/archive/Cabal/1.16.0.3/doc/html/Distribution-Simple-Utils.html
Remove obsolete `autoload` statement
Remove obsolete comment and spurious top-level `4` value

The `4` seems to have been added in da1169202 by accident, as it
doesn't seem to serve any useful purpose.
Refactor `haskell-cabal-{compute-checksum,find-file}'

This commit adds proper docstrings and refactors the two functions in
terms of the new `haskell-cabal-find-pkg-desc' function added in
5b02b04. Because by using `haskell-cabal-find-pkg-desc' the
implementation becomes more faithful to the way Cabal locates `.cabal`
files, there are subtle semantic changes caused by this
commit. However, since the goal is to emulate Cabal as close as
possible, this should be alright.