Incidents CRUD

This contains 1174, 1178, 1177, 1179 and 1180 (incidents CRUD tickets).

Note: I've tested the basic crud functionality here but have not looked at the incident reports section. That will be much easier to test when we have the capability to assign reports to incidents.
Is much of this pagination and streaming code copied from Reports?