Add Unsafe<T> type
Make Cell and RefCell use Unsafe<T>
Let ArcData use Unsafe<T>
Gather loans for static items

We currently gather loans for static items that are defined within
functions. This change enables loan gathering on static items declared
globally.
Forbid borrow of static items with unsafe interior
Allow static items that don't fulfill
Make atomics interior Unsafe<T>