Fix POD
Use enum for distance units
Use CODE instead of PPCODE

I find it cleaner
Fix segmentation faults caused by missing params

This was fixed mainly by doing error checking in the typemap.

I also cleaned up the typemap a bit, mapping to a struct instead of a
HV, because it's more convenient on the C side of things.

There's a test that now checks for these types of errors.
Add 06_memory_leak.t test
Move "precision" into XSUB signature
Reject invalid parameters
Improve POD
Version 0.28