use modeline as a hint for choosing a parser

Choosing parser by file extension can conflict.  For example ".m" is
used by ObjectiveC and Matlab.  shbang and modline is more specific
hint for choosing a parser than file extension.

modeline formats used in vim and emacs are supported in this patch set.
    
TODO: Documents must be updated.