Add Event types

Close #39. Close #38. Close #36. Close #35. Close #30. Add event types. Update events to work with event types. Add tests for event types. Update event tests.
JQuery render/inject the updated stuff or redirect to reload the page if that will cause the new info to be there?

Should keep markup (html/css) separate from javascript as much as possible. Will hate life otherwise; down the road.