fixed up some outstanding issues with unicode character escapes, made
the bitwise functions typesafe and added not and andnot bitwise
functions

I realized something was up with character stuff when I got a segfault
running the tests in the forground, they worked in the background (i.e
-r) but not the foreground(-t). The problem was that my byte order
tests didn't actually work, so I changed them to use the definitions
from endian.h

I still need to add the bitwise functions to the arithmetic driver, but
I added a couple bitwise tests and made the existing binary  functions
safer to use

I also added some more documentation related stuff, specifically
functions to get docstrings/function signatures in c and lisp