Splits `dequeueReusableCell(_:for:isRegistered:)` into two different methods,
overloaded on the presence of the `indexPath` parameter, allowing the `indexPath`
variant to return a non-optional value.
Also removes the `isRegistered` parameter, which was never passed by callers
and thus always defaulted to `true`.