Finished implementing prototyped rules

Finished implementing all rules that were previously prototyped and had
unit tests. There may be some rules which still need to be added (such
as those dealing with blocks).