Restriction groups

Added QueryRestrictionGroup & IQueryRestriction to allow arbitrary nesting of AND/OR subqueries in a single LuceneQuery