Reposition `freeze-to-stream!` fn for clarity
Remove tagged literal labels for uuid & date (both have been baked-in for some time)
Reduce amount of (unnecessary) freeze procotol extensions to interfaces

These can cause confusing, inconsistent behaviour when the protocol dispatch
needs to choose between multiple implementations:
Ref. https://groups.google.com/forum/#!topic/clojure-dev/-zoLA78--Mo

The approach as of this commit is more robust and allows more flexibility in
extension.