Elections

@longhotsummer 
Here's what I have so far. Would you mind having a look at the model changes, to make sure you're happy. 
The upload script is done, but it will take several hours to run through. Thereafter I'll do the aggregation script, and then it's on to the frontend.