Kvp-Frame test cases

Adding google tests for many of Kvp Frame's member functions. One
function in KvpFrameImpl, for_each_slot, should probably be something
like

template <typename T> void
for_each_slot (T & t, void * data) const
{
    std::for_each(......
    [&t, data] (... a)
    {
        t(a, data);
    }
}

This way, we could create a functor mock object for testing purposes,
but of course, pointers would still behave correctly.