Added elastic search support.
Abort, abort! Elastic search doesn't support fuzzy matching?!?

This reverts commit 3441959fe35b68201c636d765ed82ef71114e059.
Added customized filtering for search.

New features:
- Filter by communication intensive, use 'comm:yes' or 'comm:no'
- Filter by credits, use 'credits:4' or 'credits:2'
- Filter by free seats or full courses, use 'seats:full' or 'seats:empty'
- Filter by start & end times, use 'start:8am' and 'end:9am'