Refactor NotificationSubscription

Extracts Subscriber from NotificationSubscription to track location update subscriptions hierarchically.

Also cleans up logic around subscription creation and updates.

Splits up the NotificationSubscriptionsContoller into RESTful controllers.