Implement new extraction algorithm

Entire extraction algorithm is now in lexer.js (tfidf.js is now
deprecated) Note that stemmer.js is still needed

Functionality:
- Fixed search query building logic on line 78 in app.js
- tokens are stemmed to get stem frequency
- unstemmed forms of the word are also stored and counted
- extraction algorithm returns the most common unstemmed form of the
word
- also stores alternative forms of the word that are in the ticket so
that they can be switched to if needed (thinking ahead for UI tag cloud
implementation)
- Tokenizing algorithm now detects URLS and emails and removes them
before tokenizing
Refactoring:
- Extracted the tokenizing part of pseudophrase to its own function
- renamed pseudoPhrase function to analyzePseudophrases
Merge branch 'keyword-algorithm-v4'