Handle unknown codes better

I often run into problems when a new, never-before-seen code comes up in something like `:order-type`. For example, this morning I requested contract details for "AAPL" :equity and one of the contracts had "ALGOTH" as one of the available order types. There is no entry for this order type in the code table for `:order-type`.

I don't know what that order type is and I don't care that much. It really shouldn't cause an error.

I think for some of the code tables, we should allow unknown values to just be translated into the literal value. So, for order type "ALGOTH" instead of trying to translate it into a symbol, just use the string value instead.

I think we can do this by modifying the translation table macro. I like the idea of having optional keywords before the map part, like the way the `defmappingtest` macro works in tests/../mapping.clj.