Add IQueryable<T>.Where() overload that takes an externally built Query to execute.
Remove unused transformer.
Add some tests for MethodInfoMatchingTreeVisitor and refactor BoostMethodCallTreeVisitor to use it.
Implement LuceneMethods.AllowSpecialCharacters() extension

to allow wildcard and other characters to trigger special queries.
Enable AllowSpecialCharacters to apply to entire where clauses comprised of multiple queries.
Use ExpressionTreeParser.CreateDefaultProcessor() to slightly simplify code.
Only call queryParser.SetLowercaseExpandedTerms(false) when a field is marked as case-insensitive (the default).

Treat fields as case sensitive when FieldAttribute.CaseSensetive is set or FieldAttribute.IndexMode is NotAnalyzed.
Add Key property on Field attribute so ISession can delete and update documents by key.
Fix bug where a boolean expression like "x == 1 && y != 2" would translate into an incorrect query.
Make LuceneQueryExecutor stateless so it will be thread safe and reusable. Move types around into namespaces.
Update release notes.
Enable LuceneMethods.Boost() to appear before other clauses. Take simple Func delegate as parameter instead of Expression<Func>.
Analyze terms in range queries so they will be converted to lowercase for case-insensitive fields.
Move scalar handlers out of LuceneQueryExecutor.
Replace System.Diagnostics.Trace with Common.Logging.
LuceneSession/ISession implement unit-of-work pattern where pending changes are committed when session is disposed.

LuceneSession.Query() tracks modified items and flushes them during commit.
Translate negated predicates like ![doc].Name.StartsWith("foo") into -Name:foo*
Remove null-safety Convert expressions.
Remove spurious SpecificVersion metadata from assembly reference.
Enable NuGet package restore.