build: Refactor the build structure of the project

Moved all header files to `include` and all cpp files to `src`.
Updated the meson.build accordingly.

Change-Id: I9e26197b9c73b5e284cfc9d0d78a234546c282ad
Signed-off-by: Willy Tu <wltu@google.com>
diff --git a/meson.build b/meson.build
index 4d2e011..5b8da86 100644
--- a/meson.build
+++ b/meson.build
@@ -10,7 +10,6 @@
   ]
 )
 
-
 cpp = meson.get_compiler('cpp')
 cpp.has_header('boost/endian/arithmetic.hpp')
 cpp.has_header('nlohmann/json.hpp')
@@ -19,42 +18,8 @@
 phosphor_logging_dep = dependency('phosphor-logging')
 
 subdir('proto')
-
-binarystoreblob_pre = declare_dependency(
-  include_directories: [
-    include_directories('.'),
-    include_directories('proto')],
-  dependencies: [
-    protobuf_dep,
-    ipmi_blob_dep,
-    phosphor_logging_dep,
-  ])
-
-binarystoreblob_lib = library(
-  'binarystore',
-  'binarystore.cpp',
-  'sys.cpp',
-  'sys_file_impl.cpp',
-  'handler.cpp',
-  proto,
-  implicit_include_directories: false,
-  dependencies: binarystoreblob_pre,
-  install: true,
-  install_dir: get_option('libdir') / 'blob-ipmid')
-
-binarystoreblob_dep = declare_dependency(
-  link_with: binarystoreblob_lib,
-  dependencies: binarystoreblob_pre)
-
-if not get_option('blobtool').disabled()
-  executable(
-    'blobtool',
-    'blobtool.cpp',
-    implicit_include_directories: false,
-    dependencies: binarystoreblob_dep,
-    install: true)
-endif
-
+subdir('include')
+subdir('src')
 
 if not get_option('tests').disabled()
   subdir('test')