Pass arbitrary C++ function to Yang code.

- Add global Yang trampoline functions.
- Construct Functions from std::functions and call them from Yang or
  C++.
- There is some reference-counting right now, but it's not useful yet
  because it's only implemented on the C++ side. If Yang stores a
  C++ yang::Function, or if we return one to Yang from C++, the
  reference-counting will free the data before we need it. This needs to
  be solved with reference-counting on the Yang side.