Added `FromSized` type class and safer `Sized` extractor.

Creating a new `ops.sized` seemed reasonable, but me know if you think the organization should be different.

Also note that this means that the `val Sized(a, b, _*) = ...` syntax is no longer possible.