fix spelling mistake
tests for gcd
adapt wikipedia's C binary GCD implementation
tests for inverse
implement inverse - I still don't understand the mathemagics going on here, but the implementation passes some tests
update docs