Fix Windows build:

* CMake "install" commands require a RUNTIME argument for platforms with
DLLs (e.g. Windows).
* Replace use of non-standard variable length array with vector
* Remove unnecessary #include of unistd.h
* Add #ifdefs to dynamic backend code to disable for non-Unix platforms
where you can't use dlopen etc. We could implement this properly for Windows
later using LoadLibrary etc., but for now erroring is fine.
* Add missing #include of <algorithm>

Change-Id: Ic8ef5fd599b37bf8772510157b6e479819f6a1eb
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2236e24..420aabd 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -449,18 +449,22 @@
 target_link_libraries(armnn ${CMAKE_DL_LIBS})
 
 install(TARGETS armnn
-        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+        RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 if(BUILD_CAFFE_PARSER)
     install(TARGETS armnnCaffeParser
-            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 endif()
 if(BUILD_ONNX_PARSER)
     install(TARGETS armnnOnnxParser
-            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 endif()
 if(BUILD_TF_PARSER)
     install(TARGETS armnnTfParser
-            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+            LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+            RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
 endif()
 
 install(DIRECTORY include/ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})