reserve: add more customer fields and basic validation

add:
- customer phone
- customer address
- customer company

Basic validation for start/end dates, required customer name/phone/company.
db: set up migrations
db: add customers.address
client/reserve: mark invalid fields on blur

For some reason Angular does not mark fields dirty when they are only
focused (without actually changing the content). I think this is better.
client/reserve: refactor bootstrap invalid class
client: extract routes into a file
client: cache cars

We need more complex caching model for other data, but cars don’t change
that much so this is just fine.
client/existing: very basic list of reservations
style/client: remove console.log