vpnor: Shuffle and rework includes for sanity

Include ordering and whether or not C linkage is forced by `extern "C"`
blocks can cause headaches at link time. Ensure that all C dependencies
are included in an `extern C` block before other includes occur. Also
include the C++ versions of string.h and assert.h

Change-Id: Ia96f6044d40c8eccb907b65924efcf62ac7a89c3
Signed-off-by: Andrew Jeffery <andrew@aj.id.au>
diff --git a/vpnor/test/toc_no_version.cpp b/vpnor/test/toc_no_version.cpp
index 65ed071..4a712c4 100644
--- a/vpnor/test/toc_no_version.cpp
+++ b/vpnor/test/toc_no_version.cpp
@@ -5,7 +5,7 @@
 
 #include "vpnor/pnor_partition_table.hpp"
 
-#include <assert.h>
+#include <cassert>
 
 static constexpr auto BLOCK_SIZE = 4 * 1024;