Refactor: Split item_updater to common and ubi

The existing item_updater is highly coupled with ubifs.
It will support static layout and ubi in future.
So split the functions in to common ones and ubi specific ones, and move
the ubi specific code in ubi dir.

1. Keep common functions and make them virtual for extension.
    createActiveAssociation()
    updateFunctionalAssociation()
    removeAssociation()
    erase()
2. Create ubi/item_updater_ubi and move other functions into it.
3. Change updateFunctionalAssociation() parameter for future use.

To support static layout, a new item_updater_static will be written.

Tested: On the last commit of the patch series, run code update and
        factory reset on Witherspoon and all work fine.

Change-Id: I4cc55b31ee3f37c5b27168611305dee8ce02880a
Signed-off-by: Lei YU <mine260309@gmail.com>
diff --git a/Makefile.am b/Makefile.am
index e012ae5..c924948 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,6 +14,12 @@
 	item_updater.cpp \
 	item_updater_main.cpp
 
+if UBIFS_LAYOUT
+include ubi/Makefile.am.include
+else
+include static/Makefile.am.include
+endif
+
 if WANT_SIGNATURE_VERIFY_BUILD
 openpower_update_manager_SOURCES += \
 	image_verify.cpp \