Improvements to Orbital data formatting.

Per the Orbital spec and responses from Orbital support.

* Truncates field values by byte count instead of character count
* Adds filtering to addresses for `%` `|` `^` `\` `/`
* Adds truncation to state names
* Limits countries by the supported AVS country codes
* Adds `&` as an acceptable order ID character
* Strips leading spaces from the order ID
Looks like `mb_chars` is a Rails method? We're slowly removing ActiveMerchant's dependency on ActiveSupport, so can we find a different way of checking the byte length? If it helps, you can assume Ruby 1.9, as we don't support 1.8 anymore.