Create generic Tray component

This moves a lot of the logic from the individual trays (Add Database,
Query Options, API Url) and into a generic Tray component.

*** Note: the trays should function exactly as before. ***

Closes COUCHDB-2401
Yeah, that may well work, I think you're right. 

Perhaps a more elegant way to do this would be to define a custom `initialize` on the parent, like `trayInit` then call that on `this`.