[ermine_session_shell] Implement Quit method on Tiles interface

Also removes the [Transitional] default cause and pragma.

Test: compile

Change-Id: I1f7360063c3ee222c26a5d716d5f4313652ff656
diff --git a/bin/session_shell/ermine_session_shell/src/main.rs b/bin/session_shell/ermine_session_shell/src/main.rs
index 83b01f8..ef2f693 100644
--- a/bin/session_shell/ermine_session_shell/src/main.rs
+++ b/bin/session_shell/ermine_session_shell/src/main.rs
@@ -190,7 +190,6 @@
             .add_child_view_for_story_attach(key_to_use, story_id, view_owner);
     }
 
-    #[allow(unreachable_patterns)]
     pub fn spawn_tiles_server(chan: fasync::Channel) {
         fasync::spawn(
             tiles::ControllerRequestStream::from_channel(chan)
@@ -219,7 +218,9 @@
                             &mut focusabilties.iter_mut().map(|a| *a),
                         ))
                     }
-                    _ => fready(Ok(())),
+                    tiles::ControllerRequest::Quit { control_handle: _ } => {
+                        ::std::process::exit(0)
+                    }
                 })
                 .unwrap_or_else(|e| eprintln!("error running Tiles controller server: {:?}", e)),
         )