Make Filer node guid pluggable, default to de-duping ids on generation.

This adds duplicate key checks to our guid code, and a new mount flag to disable it if desired `FS_NODUPEIDCHECK`.  This also makes the guid function pluggable via the Filer options.

The basic issues I had to solve were:
* make guid an async call, since it might need to talk to the db
* make it possible to pass the guid implementation deep into our internal fs functions (I opted to put it on the context, as we've done with other similar data we have to pass around).

NOTE: I have not done tests yet, nor docs.