fixes bug 963297 - enforce annotated types in crashstats model

@rhelmer r?

I know this is a very large patch and some details could sort of have been dealt with in some follow-up bugs but any of those few changes are very minor or were actually blocking the tests from working. For example, the use of `settings.TCBS_RESULT_COUNTS`.

I'll try to point out some areas that are important and really need review.