Dev

I have done fully themeable views take the code outside of the the plugin file and less clunky. They can copied be copied to themes. It is a requirement of a client.

Also I have put Permissions/Not found exceptions, rather then redirects.

I made Controller_Index the same as Controller_Results by unshifting the RequestArgs by one.

I created a facility to save partial answers. It is done ins separate table that is purged, when the data is no longer needed. 

I have implemented HotLoading so that you need not re-enable the pluign to run setup. it is based on version.

I have implemented very basic query caching. 

I notice you have a JOIN in HasAnswered what is the point of that? it would make sense just to use the PollID and UserID already in the Answers, but I wanted to consult with you first. 

You might get businessdad to look at the structure and queries, if he is not busy.