obs-data: Internally store as int or double

If integers are used, then store as integers.  If doubles are used, then
store as doubles.  This way precision issues are prevented.