Move fallback to getL10nData

Fixed bug: Callers expected getL10nData() to return a dict (object)
if the key was found, or a falsey value otherwise.
What actually happened is that getL10nData only warns when data for
a key was cannot be found, and doesn't return. Consequently, a few lines
ahead, a for-in-loop triggers a runtime error, because it attempts to
iterate over an undefined object.

Moved the implementation of the fallback from get() to getL10nData(),
because in the previous situation, the string was literally returned,
without replacing tokens in the string.

Before:

    webL10n.get('...', {foo: 'bar'}, '{{foo}}') === '{{foo}}'

After:

    webL10n.get('...', {foo: 'bar'}, '{{foo}}') === 'bar'