Updated Prefab Manager (always on)

PrefabManager works very differently now. It uses the AssetDatabase to
get paths, and AssetPreview to eliminiate preview generation time.

Additionally, the PrefabChangeDetector keeps things up-to-date and will
reload the prefab manager anytime there is a change detected.

All prefabs now use their name field for the id. There can be no-such
prefab with id 0.

Some minor changes cascaded to how instantiation works, and editor
window stuff.