Simplify smallvec macros

Macros can now expand to multiple items. This takes advantage of that.
Replace most of the SmallVec0 usages with std::vec::Vec

We can't replace the ones in the `style` crate because some functions expect generic `SmallVec`s.
Remove unused teardown methods

According to @pcwalton these used to be important for memory safety but are no longer needed now.
auto merge of #2337 : bjz/servo/smallvec, r=pcwalton

We can't replace the ones in the `style` crate because some functions expect generic `SmallVec`s.

I also did some reorganisation of the `smallvec` macros.

cc @pcwalton
auto merge of #2338 : bjz/servo/remove-teardown, r=pcwalton

According to @pcwalton these used to be important for memory safety but are no longer needed now.