v0.7.0: tweak tag generation (#279)
* tweak tag generation This does 3 related things 1. Re-enables void tags by providing `nothing` as function argument 2. Allows opt out of tag checking via `Val{false}()` argument. 3. Simplifies the Hessian to use the same tag (which is useful for my own purposes of computing Riemannian metrics, but also makes the code a bit cleaner). * add docs * derivative fixes * add tests for tag checks * add tag docs