New kernel args parser

I know, this is a lot slower than the old one, but it's a transition to
a new-new args parser that will use a hashmap... as soon as I get around
to writing a hashmap implementation.
Fix some weirdness
Simple hashmap
Use hashmap for args

There, now it's fast.