Add feature description for basic tickets

This should help guide the design and implementation of basic tickets
Add a basic ticket model and view model
Add very fundamental views of Tickets
Remove TicketEditViewModel
Changed from DateTime to DateTimeOffset

DateTimeOffset should be preferred because it is unambiguous with regard to time-zones.
Add Tags to Tickets
Make it so that database is seeded

This allows for easier testing.
Fix lazy initialization of Tags & Tickets

Previously, when `Ticket` or `Tag` was used after being fetched from
the database, they would fail to initialize with the old constructor.
That's because the database will override, for instance, `Tags` to
fetch the tags associated with a ticket lazily with its own
implementation (hence it is `virtual` so it can be overridden). Of
course, that instance of `Tags` that has been overwritten couldn't be
set in the `Ticket` constructor as a `HashMap`
(`NotSupportedException` is thrown).

However, by reimplementing it so that lazy initialization is handled
in the getter, when the database overrides the getter/setter, it
removes the initialization in question that fails.
Re-Add TicketViewModel and add TagViewModel
Change Controller and Views to use ViewModels
Allow existing tags to be added and removed from tickets
Switch Details view to use ViewModel
Add tags to Details view
Include Tickets in Navbar
Add submitter field to tickets
Fix DbEntityValidationException on edit save

For some unknown reason, Submitter doesn't appear to persist properly
when editing a ticket. Simply `ticket.Submitter = ticket.Submitter;`
fixes the validation error.
Make Description field multi-line

Description fields should have multiple lines to encourage users to
put lots of detail to reproduce the issue they're having.
Merge branch 'feature/basic-tickets' into develop