Replace syntax::opt_vec with syntax::owned_slice

Replace syntax::opt_vec with syntax::owned_slice

The `owned_slice::OwnedSlice` is currently just a wrapper directly around `Vec`; it could/should become `(*T, uint)` (i.e. to be a direct equivalent to DSTs `~[T]`), but I was meeting with some peculiar segfaults with my library implementation.

However, this still shaves a word off the old OptVec type; and also makes substituting in other implementations easy, by removing all the mutation methods. (And also everything that's very rarely/never used.)