First pass at some client-side validation

It's slow, and I'm concerned about performance as the number
of students/restrictions grows or on devices with less
power. The validation messages are also not finished.
Add error message on failure to generate seating chart
Add indication in UI when placements fail

If SeatStat cannot find a good seating chart for the
restrictions, the students for whom placements could
not be found will be colored red. This is a temporary
solution for the problem, and isn't very clear to users.
But I doubt users will encounter this in normal usage.
I need to do some more testing.
Merge pull request #26 from aarongreenwald/client-side-validation/error-handling

Client side validation/error handling