Update shelf_io.dart to support shared param (#109)

Pass `shared` parameter through to `HttpServer.bind` and `HttpServer.bindSecure` (i.e., to enable port sharing across separate isolates)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index f4e1c9f..a0ed6af 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 0.7.4
+
+* Allow passing `shared` parameter to underlying `HttpServer.bind` calls via `shelf_io.serve`
+
 ## 0.7.3+3
 
 * Set max SDK version to `<3.0.0`, and adjust other dependencies.
diff --git a/lib/shelf_io.dart b/lib/shelf_io.dart
index 956e7ff..7cb1230 100644
--- a/lib/shelf_io.dart
+++ b/lib/shelf_io.dart
@@ -38,14 +38,14 @@
 /// If a [securityContext] is provided an HTTPS server will be started.
 ////
 /// See the documentation for [HttpServer.bind] and [HttpServer.bindSecure]
-/// for more details on [address], [port], and [backlog].
+/// for more details on [address], [port], [backlog], and [shared].
 Future<HttpServer> serve(Handler handler, address, int port,
-    {SecurityContext securityContext, int backlog}) async {
+    {SecurityContext securityContext, int backlog, bool shared = false}) async {
   backlog ??= 0;
   HttpServer server = await (securityContext == null
-      ? HttpServer.bind(address, port, backlog: backlog)
+      ? HttpServer.bind(address, port, backlog: backlog, shared: shared)
       : HttpServer.bindSecure(address, port, securityContext,
-          backlog: backlog));
+          backlog: backlog, shared: shared));
   serveRequests(server, handler);
   return server;
 }