Activity data engine improvement

Description

1. Support long and float activity data2. Add housekeeping thread to CompositeActivityValues to flush data when no incoming update request3. Call flush in CompositeActivityValues close4. Use Int.MIN_VALUE, Long.MIN_VALUE and -Float.MAX_VALUE to denote non-existent value5. getFieldValues return activity value as it is without any format6. Use "=" and "-=“ to indicate activity value increment or decrement, before the change we use "" and "-", it will introduce ambiguity, for eaxample "-5" you don't know if it means decreasing the value by 5 or setting the value to 5