Update semantics of straight-use-package, fix bugs
Update semantics of straight-use-package, fix bugs

* Factor out function checking into new `straight--functionp' macro.
* Make NO-CLONE inhibit the build step unconditionally.
* Remove `lazy' value for NO-CLONE, and pass additional AVAILABLE
  argument to NO-CLONE if function.
* Move recipe registration outside of transaction block (prevents
  inhibition of recipe conflict warnings).
* Refactor `let' bindings.
* Update usages of `straight-use-package' to reflect new semantics.

raxod502/straight.el,raxod502/straight.el