Added cbits and System.Endian fns for Word16

After an interesting but fruitless two day exploration of assembly language (trying to copy your style for bitfn_swap64), I went with c for bitfn_swap16.

I did quick tests with both the base-4.7.0 code and the pre base-4.7.0 code, but I would appreciate if you could give the additions a quick check in case I messed up.  Thanks!