Introduce Any<P> as a better way of writing existentials

So far, all the discussions for the syntax were revolving around the protocol. I'd like to put on the table another idea - what if instead we try to make the syntax starting from the type of the value boxed by the existential.

Any could be spelled as any<T> T
P could be spelled as any<T> T where T: P
P & Q could be spelled as any<T> T where T: P, T: Q
any Array could be spelled as any<T> Array<T>

In the most general case, this gives feature parity between existentials and generics:

any<T, U> Array<T> where T: Collection, T.Element == Optional<U>