Make Notification Base Type Class an Abstract Class

The `NF_Notification_Base_Type` shouldn't be used on it's own. To prevent people making mistakes and instantiating and using the class as is we should make it an abstract class. If someone tries to use `NF_Notification_Base_Type-> process()` or any other method they'll get an error telling them they have to make a child class.