Phase 2.1: final fixes

Adding lunch time setting as requested by admins, fixed some stuff in
the schema, some bugs in the report feature, and added a small check
when adding punches to deal with the case where users forget to punch
in the other day.