//! A referendum is a vote on whether a proposal should be dispatched from a particular origin. The
//! - There must have been a *Decision Deposit* placed, an amount determined by the track. Anyone
//! - The track must not already be at capacity with referendum being decided. The maximum number of
//! is known as the _Confirmation Period_ and is determined by the track. A referendum is considered
//! _Passing_ when there is a sufficiently high support and approval, given the amount of time it
//! will reduce over time. The curves setting these thresholds are determined by the track. In this
//! A general time-out is also in place and referenda which exist in preparation for too long may
/// Consider a garbage collection for a metadata of finished referendums to `unrequest` (remove)
/// Grab the index and status for the referendum which is the highest priority of those for the
/// `TrackQueue`. Basically this happens when a referendum is in the deciding queue and receives
/// Determine the point at which a referendum will be accepted, move into confirmation with the
/// Determine whether the given `tally` would result in a referendum passing at `elapsed` blocks