Move top-level crate inside a pub module in prep for multi-crate bindings
This wraps the lightning crate inside a `pub mod lightning` wrapper
in genbindings.sh, and modifies the binding generator to handle it.
It ends up removing some code in the main TypeResolver, at the cost
of some extra handling of imports in the ImportResolver, which
focuses the amount of code that needs to be aware of the top-level
crate name down to a much smaller area. This preps us for creating
bindings for multiple crates at once.