implement location aggregator

Change-Id: I48a02766741474fa33a3f56e60db12db114a032d
Adding helper classes for general persistent data saving.

convenience classes for saving data into aggregator database.

Change-Id: I6c3efafb50e6ad02d518a69d1cffb550ae11f794
revise loation clustering :
1. add temporal histogram to clusters
2. load and save semantic clusters
3. tune up semantic clustering module

Change-Id: I1ab1d06603c818181c4182795630dbc1438c0e32
Use previous launched app as a additional feature
If location is unknown location feature is not used for prediction

Change-Id: Ib412a82452fc94c263d7cbd10225880c5389f0fb
save/load temporal histogram of each semantic cluster

Change-Id: I8b9403c0be2d9900194390d850034441b4f0f666
Added Fake location support.

Change-Id: I894a135bf15f6d776f06b5e1c6b59db64ae745c1
reduce cluster consoliation interval

Change-Id: If9d60f3fb88e20ecfc855cc20ce92a78c364deec
Added fake time feature

Change-Id: Ia5b59f94be730cb322c2aeacf117970a23e7af78
fix clustering bugs

Change-Id: Ia1161055bff5e2e222422d07243524bf0a34d775
1. avoid battery drain in location aggregator
2. add thresholding in histogram predictor
3. add paired (loction and time) features

Change-Id: I2f9e59cc1da454c6dc77dd7395e2082195993ac2
Add liblog

Bug: 8580410
Change-Id: If7f1d8f16796c7c7e6147625fac257e7095d0c85
Merge tag 'android-4.3_r2.1' into jellybean-mr2.1

Android 4.3 release 2.1