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.
-Prevent crate actions based on prerequisites.
Could this string be something a little more descriptive?
`unitName` / `unitType` etc.