Discovery

Fix #132 

- [ ] Implement ``discover`` command.
- [ ] Invalidate cache when ``collections`` parameter changes
- [ ] How should collections be *created*?