update levelsync to be flexible with db and syncs, add collection read support

hi, i like what you have here and wanted to give it some love. :heart:

the motivation behind db flexibility is to allow for any type of usage, whether with levelup, level.js, multilevel, sublevels, etc.
the motivation behind sync flexibility (returning a sync function rather than a new Backbone.model) is similar, not to enforce any one type of usage if someone wants multiple sync methods.

collection read support is self-explanatory.