Nettoyage

| Q                         | R
| ------------------------- | -------------------------------------------
| Correction de bugs ?      | non
| Nouvelle Fonctionnalité ? | non
| Tickets concernés         | ?

Cette PR est un début de nettoyage de notre basse de code. C'est chiant a faire (et a reviewer et QAiser) mais vu la taille du projet, il faut bien le faire.

L'idée est de repasser sur les modules et de les nettoyer, un par un. Cela comprend : 

- relecture/correction du code
- factorisation quand c'est possible
- amélioration de la gestion des erreurs
- ajout de doc-string
- simplification quand possible
- rajout de tests
- rajout de doc

J'ai donc ouvert le bal avec les 4 premiers modules dans `zds/utils/templatetags`. Il n'y a pas de changement fonctionnels à de rares exceptions pret (ajout de cas de gestions d'erreur, correction de bugs au passage), le but est juste de rendre ces modules plus propre.

Je suis donc repassé sur ces 4 modules, mit au propre, commenté, documenté et rajouté des tests. Si ça convient, je continurait quand j'aurais le temps.

Au passage j'ai corrigé quelques probs de mise en forme dans la doc.

J'ai essayé de tester le max de trucs, erreurs comprises. Mais certaines choses ne sont pas facile a tester. Je les ai notés dans les fichiers de tests pour une passe ultérieur.

**Note pour QA** 

Désolé, ça va être aussi chiant pour vous que pour moi. Ces fichiers étant liés aux templates, il va falloir regarder un peu partout. Mais en particulier : 

- Que les liens générés automatiquement (message suivant sur le forum et pagination, etc.) sont encore corrects.
- Que les dates sont toujours formatés pareils
- Que le markdown continue a être correctement formaté
- Que l'ensemble du site fonctionne.

Vu l'impacte, ce serait peut être bien que ce soit quelqu'un du front ( @Alex-D ?) qui s'en occupe. J'ai touché aux tags `append_to_get`, `captureas`, `format_date`, `tooltip_date`, `humane_time`, `emarkdown`, `emarkdown_inline`, et les `decale_header_N`.

J'apprécierai aussi une relecture technique. Les commits sont nombreux mais petits et donc facile à suivre.
Je pense que le bonne usage oblige à le mettre, mais on le fait pas de manière systématique. Un commentaire sur le sujet ?