Tidied up some elements of the Function Hierarchy, and fixed the MultiFunctionBolt (it doesn’t care whether a function has variables, it just cares that it is initialisable).

Also changed the RIF rule compiler test cases so that each case can specify the amount of sleep desired.