Feature/1158 state country picklists

This pull request should not be accepted until @ceiroa has a chance to look at the "hack" to TDTM and error handling.  Carlos, look specifically at code that references to isPropogateErrorsFromTrigger.
Unfortunately, that is what i first tried, but it turns out you can't do addError to an object that isn't in the trigger list.  In my scenario, the address is being updated, which causes us to try to update the account.  The error comes from the update attempt on the account, but it is within the context of the address trigger.  So if you do addError on the account, Salesforce throws an exception.