Use vertical forms

- Improve editing and adding of programmes (store data in the form when
  it fails validation, send public_access as a string)
- Improve projects , properties and devices tables
- Update datasets to new bootstrap fields.