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).