Automatically create and purge indexes in MongoDB

| Q                    | A
| -------------------- | ---
| Bug fix?             | No
| New feature?         | No
| BC breaks?           | No
| CI currently passes? | Yes
| Tests pass?          | Yes
| Scenarios pass?      | Yes
| Checkstyle issues?   | No
| Changelog updated?   | Yes
| Fixed tickets        | N.A.
| Doc PR               | N.A.
Some stuff are WIP from @sumbobyboys on that ProductQueryUtility. A small refactor will be done once it's merged.