Implement built-in trait for some types

cc #13231
std: Implement `Share` for Unsafe

[RFC #3]
cc #13231
collections: Implement `Share` for `TreeMap`

[RFC #3]
cc #13231
std: Implement Share, Send and Copy for vec

[RFC #3]
cc #13231
std: Implement Share for `Path`

[RFC #3]
cc #13231
sync: Implement `Share` for libsync

[RFC #3]
cc #13231
workcache: Implement `Share` for `Database`

[RFC #3]
cc #13231
std: Implement traits for StrBuf, ~str and Box

[RFC #3]
cc #13231
serialize: Implement `Share` for Json

[RFC #3]
cc #13231
Lookup trait implementations for type

This commit adds a function in vtable to find the vtables for a trait
implementation on a type.

cc #13231
Add a bounds visitor

The bounds visitor checks looks for built-in traits implementations and
verifies that the type fulfills such trait.

[RFC #3]
cc #13231
[breaking-change]