Implement KvpFrame in C++ using std::vector

KvpFrame was implemented using GList. Given the current desire
to distance ourselves from glib and acquaint the project with
C++, the standard library thereof, and boost libraries, KvpFrame
has been replaced by an implementation that uses a std::map<
const char *, KvpValueImpl *>.

There were some cases of the KvpFrame's glist being accessed
directly. A new API to help callers access the KvpFrame's contents
systematically by providing a list of keys has been created, and
call sites of the GList code have been updated.

Another deprecated #define was found and removed (kvp_frame_set_str).
Update CMakeLists after recent file addition
Build glib gtester based tests under check_PROGRAMS, run under TESTS

Instead of TEST_PROGS. This has two advantages:
* By deferring the builds until make check any prerequisites, especially
in test-core, are already built regardless of overall build order.
* The output of these tests is logged and the success or failure
included in the make check summary instead of adding their rather verbose
output to the stderr.
Fix stray left-over line which prevented most of the engine tests from running.
Added quotes to gtest section in configure.ac

Without these quotes, the error messages can be confusing in the case that
variables contain spaces, and, more likely, when the variables are empty.
Bug 731589 - Add account level selection on accounts option tab
Merge branch 'master' of https://github.com/Gnucash/gnucash into python-kvp
Company object created