Crate updates.

+Multiple units per crate allowed.
+Allow time delay on crate actions.

Rebased work of #2550 and corrected the Lint error. (For #2165)

Also added work for #3054.

If the extended requests are wanted, I'll take a look at them.
-Allow multiple time delays, with their own selectionShares. (<- I admit I didn't look into this.)
-Prevent crate actions based on prerequisites. (<- I couldn't figure out how this would work.)
This should be in ticks. It was a mistake to use seconds in the existing areas of the code.