TODO

Finalise API
Handle non-geographic postcodes
Handle British overseas territories
Handle special case postcodes, like GIR 0AA and SAN TA1
Find out which BX non-geographical districts are used.
handle BFPO
cleanup method to correct common errors