start of a complete rework of the ordering process

in the future node will only be used for seat selection
moved all the seat selection to the seat lib so we can reuse it in
other places
reworked a lot of orders.js, simplified procedures
only seating is functional
validating, placing orders and the whole coupon redeem process has yet
to be implemented
added validations for the address and payment steps

uses node-validator lib added as a git submodule
confirmation step is working again
established seating communication between rails and node

orders now go through
seating sessions have yet to be invalidated
restored error handling and in-browser expiration alert
some improvements and fixes

turned most of the included third-party javascript libs into submodules
openlayers cannot be used as a submodule, was updated
fixed expiration counter
return key now triggers next step when an input field has focus
some optical fixes
seats get marked as taken on node after order has been placed

code cleanup
fixes
better fallback handling when websockets are not available

replaced existing spinner with a global one which can be toggled by the
steps
added exclusive attribute to ticket types

adjusted to work with the new seat updates from node
bugfix
Merge branch 'take-2'
fixed spin.js path