Step further.

Open is almost working but the waserror needs cleaning up, we need better
macros and support; and the use of fake_release in all the kref_init calls is
wrong, wrong, wrong. But we get surprisingly far.

So far the errors are lack of understanding or things that fell out of
changing incref/decref to krefs (semantics)
removing utf-8
Translating proc structs
The fact that we don't have current-> or up->

Signed-off-by: Ronald G. Minnich <rminnich@gmail.com>