added new order class which handles all actions

an order is assigned to each socket
selected seats are stored and released when disconnecting or changing
the date
the order info in general is stored
some bugfixes
only updated seats are pushed to the clients instead of all seats on the corresponding date

all seats on all dates are pushed only once at the beginning of an order
reduces the traffic a lot
the number of seats is now limited to the number of tickets

if there are more selected seats than tickets the number of surplus
seats is removed from the bottom of the seat stack
also fixed a bug which prevented seats from being marked as selected
orders (up to the address step) are properly validated