add #[non_owned] and #[mutable] attributes
mark Cell as non-Const with #[mutable]
factor out the has_attr checks
compile-fail tests for #[non_owned] and #[mutable]
auto merge of #6251 : thestinger/rust/non_owned, r=pcwalton

Also fixed the docstring on `TC_ONCE_CLOSURE` (was accidentally the same as `TC_MUTABLE`) and shifted the `TC_EMPTY_ENUM` bit left by one since whatever previously used that bit has been removed.