Create libi2c_dev_mock.a to solve linker errors

The i2c::create() function is currently defined in
mocked_i2c_interface.hpp.  This causes linker errors if that header file
is included by multiple .cpp files in the same test executable.

Moved i2c::create() to mocked_i2c_interface.cpp so that it is only
defined once.  Created the static library libi2c_dev_mock.a that
contains mocked_i2c_interface.o.

Test executables that need the mock version of i2c::create() should link
with libi2c_dev_mock.a.

Normal executables that need the real version of i2c::create() should
link with libi2c_dev.a as before.  This has not changed.

Signed-off-by: Shawn McCarney <shawnmm@us.ibm.com>
Change-Id: Ic00203c5429c1a2162327905ba547602258c6b0d
diff --git a/tools/i2c/meson.build b/tools/i2c/meson.build
index 71a5aab..424a197 100644
--- a/tools/i2c/meson.build
+++ b/tools/i2c/meson.build
@@ -9,3 +9,5 @@
     link_with: libi2c_dev,
     include_directories : libi2c_inc,
     link_args : '-li2c')
+
+subdir('test')