Return undefined from util.decode on more invalid inputs

Specifically, on inputs with components that are invalid
base64. Previously, such input would produce an exception,
which is inconsistent with the behavior for other forms
of invalid input (wrong number of components, wrong IV
length, invalid JSON).
Merge pull request #77 from mapbox/decode-invalid

Return undefined from util.decode on more invalid inputs