Rule fixes

This branch corrects a number of issues in the rules engine:
-Earning an achievement more times than "max earnings" allows
-Earning steps with no parents
-Earning unpublished, private or trashed achievements
-Inability to earn "any [achievement type]" steps
-Inability to earn "all [achievement type] steps