Reconhecer os status de serviços de validação de um pacote #810

Fixes: #810

[models.py]
- SERVICE_STATUS_MAX_STAGES int que definie a quantedade minima duplas
(SERV_BEGIN/SERV_END) que debe ter ao finalizar o processamento.
- ``validate_sequence(...)``: retorna True/False se a sequencia de
SERV_BEGIN/SERV_END, é correta ou não.
- ``is_serv_status_completed(...)``: retorna True/False se os estatus de
status de serviço é correto.
- ``get_error_level``: se os status de serviço não estão completos,
retorna: ``in progress``, se estiver completo, retorna o error level.

[templates/articletrack/includes/checkin_list_and_filterform.html]
- ajuste para mostrar o label 'in progress' ou error level corretamente.

[views.py]
- fitrado excluindo o status de serviço das notices no context.

[test_models.py]
- tests criando notices SERV_* e controlando a resposta do
Checkin.get_error_level, e Checkin.is_serv_status_completed
Sim realmente o `collections.deque` é mais eficiente quando se fala em manipulação em ambos os lados. Mas as listas possuem a mesma complexidade O(1) para indexação, pois a implementação é baseada em arrays. Os únicos problemas de usar listas seria de remover ou inserir um item no índice 0, pois demandaria um deslocamento de todos os outros ítens (complexidade O(n)) e o método pop() também possui complexidade O(n).

Sobre o dimensionamento de memória (listas são implementadas como arrays), o python tem várias otimizações e nós não sofreríamos com isso pois num caso de uso normal a lista terá no máximo 6 ítems.

Enfim, não vejo problemas em usar `deque`. Só queria ter certeza de que era uma decisão consciente =]