THRIFT-5306: Rust code and generated code no longer has clippy warnings (Rust 1.40)

Client: rs

NOTE: Also properly update the min/max supported Rust versions
diff --git a/tutorial/rs/Cargo.toml b/tutorial/rs/Cargo.toml
index d8e2a9a..5e21d51 100644
--- a/tutorial/rs/Cargo.toml
+++ b/tutorial/rs/Cargo.toml
@@ -9,8 +9,6 @@
 
 [dependencies]
 clap = "2.33"
-ordered-float = "1.0"
-try_from = "0.3"
 
 [dependencies.thrift]
 path = "../../lib/rs"
diff --git a/tutorial/rs/README.md b/tutorial/rs/README.md
index 166854b..97b1490 100644
--- a/tutorial/rs/README.md
+++ b/tutorial/rs/README.md
@@ -4,37 +4,22 @@
 
 1. Get the [Thrift compiler](https://thrift.apache.org).
 
-2. Add the following crates to your `Cargo.toml`.
+2. Add the thrift crate to your `Cargo.toml`.
 
 ```toml
 thrift = "x.y.z" # x.y.z is the version of the thrift compiler
-ordered-float = "0.3.0"
-try_from = "0.2.0"
 ```
 
-3. Add the same crates to your `lib.rs` or `main.rs`.
-
-```rust
-extern crate ordered_float;
-extern crate thrift;
-extern crate try_from;
-```
-
-4. Generate Rust sources for your IDL (for example, `Tutorial.thrift`).
+3. Generate Rust sources for your IDL (for example, `Tutorial.thrift`).
 
 ```shell
 thrift -out my_rust_program/src --gen rs -r Tutorial.thrift
 ```
 
-5. Use the generated source in your code.
+4. Use the generated source in your code.
 
 ```rust
-// add extern crates here, or in your lib.rs
-extern crate ordered_float;
-extern crate thrift;
-extern crate try_from;
-
-// generated Rust module
+// generated Rust module from Thrift IDL
 mod tutorial;
 
 use thrift::protocol::{TCompactInputProtocol, TCompactOutputProtocol};
@@ -120,7 +105,7 @@
 ### Results and Errors
 
 The Thrift runtime library defines a `thrift::Result` and a `thrift::Error` type,
-both of which are used throught the runtime library and in all generated code.
+both of which are used throughout the runtime library and in all generated code.
 Conversions are defined from `std::io::Error`, `str` and `String` into
 `thrift::Error`.
 
diff --git a/tutorial/rs/src/bin/tutorial_client.rs b/tutorial/rs/src/bin/tutorial_client.rs
index 90a26d8..f7de23f 100644
--- a/tutorial/rs/src/bin/tutorial_client.rs
+++ b/tutorial/rs/src/bin/tutorial_client.rs
@@ -15,8 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#[macro_use]
-extern crate clap;
+use clap::{clap_app, value_t};
 
 use thrift::protocol::{TCompactInputProtocol, TCompactOutputProtocol};
 use thrift::transport::{
diff --git a/tutorial/rs/src/bin/tutorial_server.rs b/tutorial/rs/src/bin/tutorial_server.rs
index e4d1d2e..fbccb69 100644
--- a/tutorial/rs/src/bin/tutorial_server.rs
+++ b/tutorial/rs/src/bin/tutorial_server.rs
@@ -15,18 +15,17 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#[macro_use]
-extern crate clap;
-
 use std::collections::HashMap;
 use std::convert::{From, Into};
 use std::default::Default;
 use std::sync::Mutex;
 
+use clap::{clap_app, value_t};
+
 use thrift::protocol::{TCompactInputProtocolFactory, TCompactOutputProtocolFactory};
 use thrift::server::TServer;
-
 use thrift::transport::{TFramedReadTransportFactory, TFramedWriteTransportFactory};
+
 use thrift_tutorial::shared::{SharedServiceSyncHandler, SharedStruct};
 use thrift_tutorial::tutorial::{CalculatorSyncHandler, CalculatorSyncProcessor};
 use thrift_tutorial::tutorial::{InvalidOperation, Operation, Work};