Imporve result model & Support composite queries

**Changes**

* `EfficencyResult` and `IndexResult` are now store in separate field

* Add handler for `$mod` operator.

* Support recommend indexes for queries which contain `$or`, `$nor`, `$and` operators
[When using indexes with $or queries, each clause of an $or query will execute in parallel. These clauses can each use their own index.](http://docs.mongodb.org/manual/reference/operator/or/#_S_or) Thus, index suggestion function will generate index for each clause rather than a compound index for whole query.

* Modify some test cases to make it more rigorous

* Add test cases for new features