refactored lexical category inference

The four lexical categories (noun, verb, adverb, conjunction) are now
enforced to be mutually exclusive.

Using more descriptive names and constants in compiler.coffee:

    .type           -->  .category
    'X'             -->  NOUN
    'F'             -->  VERB
    .isAdverb       -->  ADVERB
    .isConjunction  -->  CONJUNCTION
{;} syntax for ambivalent fns and operators, #64
Merge remote-tracking branch 'origin/master' into gh-pages
built demo