Refactored aggregate functions to emit a RouteFunc
Added Not function
Added Match function to Request
added tests to check funcional equality (like Not(f)() == !f() )