camcorder pause feature

--libmedia: add pause() interface in MediaRecorder and IMediaRecorder and add Pause state in mediarecorder's state machine
--libmediaplayerservice: add pause() interface in MediaRecorderClient and StagefrightRecorder
--libstagefright:      1.stop-in-pause implementation in recording pipeline for pause feature;
--camerasource: support switch between start() and stop()
--audiosource:  support switch between start() and stop()
--soft aacenc component:  clear some variables when doing flush to support re-start
--soft amrnbenc component: clear some variables when doing flush to support re-start

Change-Id: I3036ef8f4cc7644c1d36aa0b19e64fc9dc12c1f8
Camera: Dont process dataCalllback if recording is stopped

Issue: Here stopRecording is not finished as the previous
recording frame process has not completed. dataCallbackTimeStamp()
in CameraSource.cpp has stuck in the thread itself waiting for a lock.
In between, reset() function in CameraSource.cpp has called
and acquired lock. Reset() function calls stopRecording.
So the dataCallbackTimeStamp() is continuously waiting.
Unless dataCallbackTimeStamp returns, processRecordFrame
in HAL will not finish.

CRs-Fixed: 518351

Change-Id: I19bbdb4b50b0113a419c9229f0e26c56e8ce91e8
camera: Re-add micromanagement of preview metadata

 * Some devices still have issues without this fix.

Change-Id: Iae2d4410086fb38bf7f9abeee62c05cae824d436
Merge remote-tracking branch 'cm/cm-10.2' into cm-10.2