adds API to set and add custom scheduling and abr rules, adds RulesController class, makes default rules a singleton object, renames BaseRulesCollection into ABRRulesCollectoin and moves it into ABRRules directorty