Make file name pattern take precedence over modelines when guessing a parser

Conceptually this reverts 29e3d93c93e8d4117568e1c4b81c512062b78901.
There some reasons in this reversion.
(1) guessing a parser by file contents takes cost than by matching file name(@dtikhonov),
(2) modelines leads false positives guessing(@dtikhonov), and
(3) it may be a rare case that a parser guessed by file name is not equal to a
    parser guessed by file contents. In many case no parser is guessed by
    a file name and a parser can be guessed by file contents. In this case
    guessing a parser by file name before guessing a parser by file contents
    is acceptable because the cost of doing former is enough low (@masatake).

Suggested by @dtikhonov in #123.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>