Bug 884598: Handle welcome languages correctly

We should only send a welcome message in a language
that its newsletter supports. Otherwise, use English.
Bug 863033: Three basket fixes

1) When language, country, or format is not yet set in ET, the database
   there will have NULL and ET will return None. Fix that to '' so
   we can use it later without worrying about whether it's None.
2) Only set CREATED_DATE_ in ET when we create a new user in ET, not
   when we create a new user in Basket.
3) When the user changes languages and subscribes to things at the same
   time, use the new language they chose when sending their welcome
   messages.
Merge pull request #56 from dpoirier/bug-884598-marketplace-welcome
Merge pull request #58 from dpoirier/three-basket-fixes
Better diagnostics sending messages

When sending messages, trying to confirm, etc, raise exceptions
in more places rather than just logging a problem, and make some
of the exception messages more detailed.
Merge pull request #57 from dpoirier/better-diagnostics
Updates to welcome logic

* Change so blank or empty ID means no welcome, not default welcome
* Always prepend the language code to the welcome ID
* Reinstate the option to not trigger welcomes
Merge pull request #59 from dpoirier/three-more-changes

Update the welcome logic