Fix creation of new registration types

This was broken with the addition of registration classes - it was no
longer possible to create new registration types if there were no
registration classes present - and they were supposed to be optional..
Rework registration process for more streamlining

This includes multiple changes to make the registration process more
streamlined, as well as make it possible for future enhancements.

* All registration is now in a single workflow. Voucher based registration
  is now just a field in the general registration form, that cancels out the
  cost of the registration.
  This makes it possible to combine a voucher based registration with addons
  such as training.
* All registrations now go through a "confirmation step", that shows exactly
  what the cost will be, prior to generating the invoice.
* Speaker registrations can now be automatically approved, if the speaker has
  a confirmed talk at the conference.
* Staff registrations can now be automatically approved, if the staff member
  is listed as conference staff.
* The system is prepared for further "special registration types" that can
  easily add more custom restrictions for regtypes.

This also removes the old autoapprove field from a conference - the way to
recreate that behaviour is to just create a zero cost registration type that
has no restrictions - anybody registering with that one will end up being
automatically approved.

Also includes a number of code cleanup steps. The most significant one being
that the registration form and the registration confirmation page are now
in separate templates, making the result a lot more readable, since the old
ones had reached a point where it was basically impossible to parse them.

In passing, fix a bug whereby it was possible to use bulk registrations to
go around the fact that a registration type was not active.
Remove unnecessary markup module from templates

This must have been included by a bit too enthusiastic use of copy/paste
at some point.
Clean up registration form

This reomves a lot of duplicate code and replaces it with a loop
over an array of fieldsets defined on the form, making it a lot
easier to make changes.

Also update the stylesheets used when an error shows up to make it
a lot easier to spot errors, and possible to render long error
messages without making the formatting really broken.
Oops, verify speakers against their userid and not speakerid
Add explicit cancel button

This makes it much more clear now to cancel a registration - click
the cancel button.

With this, we remove the registration type "not attending" which has
always been confusing.
Override stylesheets settings of submit button width

We use long texts on the submit buttons, so we need to override the
outside stylesheet to make sure all our text shows.
Force size of submit button on confirmation page as well
Fix backling for no-regtype-registrations.