FruDevice: improve updateFRUProperty function

updateFRUProperty function is used to write ASSET field but it
pretended to be generic.

This change fixes number of issues like
* wrong size check
* no control of data overflow
* erase FRU Area next to updated area
* wrong handle of first/last fields in area
and some other
This change also implements functionality to resize FRU Area, but it is
disabled by default.

Tested: Tested by setting all properties as writable ad then trying to
change them using "set-property" busctl call to FruDevice.

Signed-off-by: Andrei Kartashev <a.kartashev@yadro.com>
Change-Id: Ic049bbf591878b4af344a352a2bec296e70cfb6e
diff --git a/meson_options.txt b/meson_options.txt
index a9aeeda..770451d 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -4,3 +4,6 @@
 option(
     'fru-device', type: 'boolean', description: 'Build fru-device.',
 )
+option(
+    'fru-device-resizefru', value : false, type: 'boolean', description: 'Allow FruDevice to resize FRU areas.',
+)