make building handlers from json more generic

Problem: version-handler, a new feature that will be added to this
repository will also parse json files from the same directory ipmi-flash
does. Currently buildjson is a mix of some code that can be reused and
other code that is pretty specific to firmware updates; this makes it
hard to reuse the code.

Solution: factor out the generic parts and place it in bmc and then
leave the specific parts in firmware-handler. Also code changes have
been made to buildjson: wrap functions in a templated class that leaves
feature specific parsing as a pure virtual method.

Tested:
Ran the unit tests, which do test the parsing functionality.

Signed-off-by: Jason Ling <jasonling@google.com>
Change-Id: I021dc829a82d1719b4cb862cdfb224eca629a44d
diff --git a/bmc/firmware-handler/Makefile.am b/bmc/firmware-handler/Makefile.am
index c4fe392..e7b8eb2 100644
--- a/bmc/firmware-handler/Makefile.am
+++ b/bmc/firmware-handler/Makefile.am
@@ -42,7 +42,7 @@
 
 # firmware blob handler specific
 libfirmwareblob_common_la_SOURCES = \
-	buildjson.cpp \
+	firmware_handlers_builder.cpp \
 	firmware_handler.cpp \
 	lpc_handler.cpp