camera: Fix invalid parameter returns

The camera API expects invalid parameters not to return silently;
They should throw an exception, and set the bad parameter(s) back
to the last known good value.

Fixes android.hardware.cts.CameraTest#testImmediateZoom and
android.hardware.cts.CameraTest#testInvalidParameters

Change-Id: I6556369322b7560b0bb35fca57366b42579effbd