Facet addressing

3 independent usable commits:
- fix
- added qunit testing framework
- added tests for fix

This fix allows to use keys containing dots, and also supports any level of nesting for the facet fields. Arrays are fully supported at any level of nesting. See tests/unit/helpers.js for a complete example.