Upgrade to scala 2.11, add Id[T,K], remove RefById

Id[T,K] is an id to an object of type T, with a key of type K.  This allows an Id that is typed to T, without specifying the lookup until it is looked up. (Previously RefById and LazyId were our only Id types, and required a lookup when they are instantiated rather than when they are used).

RefById is removed (as using LazyId was preferable anyway)

LookUp now converts from Id[T,K] to Ref[T]