add fake group api

This dispatch could be cleaned up a little:
```python
handler = {
    'contacts': self.contacts,
    'groups': self.groups,
}.get(request_type, None)
if handler is None:
    # 404
try:
    return self.build_response(handler.request(...))
except ...:
    ...
```