Improve query for alarmed metrics

Use joins to change three queries into one. Add a test that
showed a bug in the previous code

Changed to use a simpler way of creating the SubAlarm when
queried

Change-Id: I44ed4a6283b156d387564d1b802f2cd06f59bc8c
Get Alarm updating to work properly. Previously, the state would
not change back to the real state

Get Alarm Deletion to work properly. Previously, it would not clean
up the Alarms or Sub Alarms

Get the Alarm Definition Deletion Event to work correctly. Previously
it wasn't handled

Get the Alarm Definition Updated Event to work correctly, at least
for name, description and severity

Finish implementing some TODOs in AlarmCreationBolt and add tests

Fixed some code that could handle Alarm Definition Updates in
the MetricAggregationBolt but the right calls aren't made in
the rest of the code, yet

Removed some unused or duplicated test java files

Turn the tests back on as they now run

Change-Id: Idb6c92d35e2273601411ca9c0f7d7ba45c61ad55
Add severity to AlarmStateTransitionedEvent

Had to add severity to AlarmDefinition and read from database

Handle severity change in AlarmDefinitionUpdateEvent

Simplified AlarmDefinitionDAOImpl

Change-Id: Id619272fd605f5e27187f5a0db29bac820e51cbc