Move BTree's internal Node interface to a handle-based API, removing some unsafety and increasing how much is checked at
compile time