Refactor NotificationSubscription

Extracts Subscriber from NotificationSubscription to track location update subscriptions hierarchically.

Also cleans up logic around subscription creation and updates.