Major refactoring for bus/notificationQ events and raw SQL tables

The goal is to have SQL very similar between notificationQ and bus so we could potentially live with only one table if we wanted
Also having very smilar SQL means that model and API objects can be similar which makes it easy to abstract code.