raise exception if BaseStrategy#add_commands_for_products_to_be_added! is called
add documentation; refactor confusing method; make BaseStrategy an abstract class
revert making Strategies::BaseStrategy abstract; comment out test that's probably catching a real error

Conflicts:
	spec/billing_info/billing_cycle_spec.rb
temp change
Merge branch 'master' of https://github.com/JamesLavin/Billing-Logic into 56375826-questionable-refactorings

Conflicts:
	billing_logic.gemspec
fix bug in refactoring (#active_or_pending should have been #active_or_pending?)
remove temp var; make #profiles_by_status return either #active_or_pending_profiles or #neither_active_nor_pending_profiles
remove awesome_print and debugging code
Merge pull request #20 from JamesLavin/56375826-questionable-refactorings

56375826 questionable refactorings