UK postcode parsing and validation for Ruby