wrote scaffolding for filters
added language parameter
reimplemented needles with line span information built in
Removed parens and raise UnOrderedRowError
rough shape of filter
switched to dictionary representation
sorted output and wrap in contents
typos!
moved filters out to their own file + added descriptions
pylint + proper filter
making sure Filters are registered
added description for filter, and match api in ES branch
Filter Scaffolding + Needles now support column spans Closes #309

Merge remote-tracking branch 'origin/pr/309' into es