Rockage

code changes needed for Rockage

everything here -I think- is totally compatible with m13's uber, however, there are some config settings that have been removed that we will need to make sure get put back in place via puppet

this is now ready for a real code review @EliAndrewC.  The point of this code review is to make sure that none of the changes in here are rockage-specific and would break m13 uber.  All of the rockage-specific bits are in their own rockage sideboard plugin.

Since Rockage doesn't have actual badges, or sells tshirts, this adds a bunch of config settings that control which parts of the prereg forms are shown/hidden including:
- whether we ask attendees for their names to print on supporter badges
- whether we ask attendees their shirt sizes, or require it when reg'ing a supporter

This also breaks out a few more sections of the prereg code into their own template files, which get overridden by the rockage plugin.  This allows us to change a lot of text for confirmation emails/etc.

Huh. On actually doing this code review, there's a hell of a lot less changed in this project than I thought.  Pretty cool.
This function could definitely use a better name, which is something I brought up in the original PR into the Rockage branch.

What Dom is doing here is writing a function which takes a string and returns a boolean indicating whether the number can be parsed as an integer.  The old code just used the Python ``isdigit()`` function, which doesn't permit negative numbers which Rockage wanted to be able to handle (although I think the actual use case for that isn't being done).