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/write_ro.cpp b/vpnor/test/write_ro.cpp
index 13c0eae..e5671b1 100644
--- a/vpnor/test/write_ro.cpp
+++ b/vpnor/test/write_ro.cpp
@@ -1,21 +1,22 @@
 // SPDX-License-Identifier: Apache-2.0
 // Copyright (C) 2018 IBM Corp.
+#include "config.h"
 
-#include <assert.h>
+extern "C" {
+#include "common.h"
+#include "flash.h"
+#include "mboxd.h"
+}
+
+#include "vpnor/test/tmpd.hpp"
+
 #include <fcntl.h>
 #include <sys/mman.h>
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <unistd.h>
 
-#include "common.h"
-#include "mboxd.h"
-
-extern "C" {
-#include "flash.h"
-}
-
-#include "vpnor/test/tmpd.hpp"
+#include <cassert>
 
 static constexpr auto BLOCK_SIZE = 0x1000;