restructure certs/keys; add key/cert generation

NID is also now an exposed type
improve GC handling (fixes #10)
standardize returns on `<= 0` (or `0 >=`)
add travis config file