Implementa agregador de eventos

O agregador é só uma função que faz log de algum objeto passado como
argumento, que deve ser um dicionário com os campos de interesse. Por
exemplo, é possível armazenar um evento do tipo:

{
    'tipo': 'validacao-usuario',
    'usuario': {
        'id': 1,
        'nome': 'Administrador Fodão',
    }
}

O evento é guardado junto com o horário em que foi criado.

Como o agregador funciona a partir da interface de logging, foi criado
também um Handler para o sistema de logging do Python. Esse handler
(ElasticSearchHandler) serve para enviar o evento para uma instância do
Elasticsearch (de hostname "elasticsearch"), de onde poderá ser lido,
por exemplo, pelo Kibana.

Como o armazenamento de um evento pode demorar (por diversos motivos não
ligados diretamente ao site), o envio dos dados é feio usando uma
chamada asíncrona do Celery.
Adiciona handlers para o agregador de eventos
Adiciona infraestrutura para testes de eventos
Muda nome de arquivo
Faz log das ações em empresas
Coleta eventos em palestras empresariais
Salva estatísticas de mensagens
Coleta eventos em usuários
Coleta estatísticas para configurações da Semcomp

Também altera alguns identificadores de singular pra plural
Corrige nome de evento nos testes
Move elasticsearch pra dependências base

Apesar de não ser usado durante desenvolvimento, aparece como import no
arquivo stats/handlers.py. É um módulo totalmente em Python, então não
tem problema ser instalado junto como dependência em dev
Coleta estatísticas de cadastro de usuários
URL para Celery
Merge pull request #110 from fcoelho/stats-semcomp

Stats semcomp