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_patch.cpp b/vpnor/test/write_patch.cpp
index b735d10..1bf6ba9 100644
--- a/vpnor/test/write_patch.cpp
+++ b/vpnor/test/write_patch.cpp
@@ -3,23 +3,23 @@
 
 #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/ioctl.h>
 #include <sys/mman.h>
 #include <sys/syslog.h>
 #include <unistd.h>
 
+#include <cassert>
 #include <experimental/filesystem>
 
-#include "common.h"
-#include "mboxd.h"
-extern "C" {
-#include "flash.h"
-}
-
-#include "vpnor/test/tmpd.hpp"
-
 static constexpr auto BLOCK_SIZE = 0x1000;
 static constexpr auto DATA_SIZE = 8;