Add a copy-on-write container.
Added Freeze trait to CowArc
Don't copy arguments passed by value with indirection to allocas.
auto merge of #11230 : csherratt/rust/cow, r=alexcrichton

This allows patch adds a new arc type that allows for creation of copy-on-write data structures. The idea is that it is safe to mutate any data structure as long as it has only one reference to it. If there are multiple, it requires cloning of the data structure before mutation is possible.
auto merge of #12014 : eddyb/rust/less-copies, r=cmr
Removed @self and @Trait.