Enable and fix lints, test on oldest supported Dart sdk (#41)

diff --git a/.travis.yml b/.travis.yml
index b7324e9..50ef28c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,7 +2,7 @@
 
 dart:
   - dev
-  - stable
+  - 2.0.0
 
 dart_task:
   - test
diff --git a/analysis_options.yaml b/analysis_options.yaml
index 6b149b2..d76cc45 100644
--- a/analysis_options.yaml
+++ b/analysis_options.yaml
@@ -52,6 +52,7 @@
     - prefer_const_constructors
     - prefer_contains
     - prefer_equal_for_default_values
+    - prefer_generic_function_type_aliases
     #- prefer_final_fields
     #- prefer_final_locals
     - prefer_initializing_formals
@@ -62,7 +63,6 @@
     #- prefer_typing_uninitialized_variables
     - recursive_getters
     - slash_for_doc_comments
-    - super_goes_last
     - test_types_in_equals
     - throw_in_finally
     - type_init_formals
diff --git a/example/FluidMotion/dart/FluidMotion.dart b/example/FluidMotion/dart/FluidMotion.dart
index e8a581f..d01e765 100644
--- a/example/FluidMotion/dart/FluidMotion.dart
+++ b/example/FluidMotion/dart/FluidMotion.dart
@@ -209,7 +209,9 @@
   }
 
   void addFields(Float64List x, Float64List s, double dt) {
-    for (var i = 0; i < size; i++) x[i] += dt * s[i];
+    for (var i = 0; i < size; i++) {
+      x[i] += dt * s[i];
+    }
   }
 
   void set_bnd(int b, Float64List x) {
@@ -273,7 +275,7 @@
           var nextRow = (j + 1) * rowSize;
           var lastX = x[currentRow];
           ++currentRow;
-          for (var i = 1; i <= width; i++)
+          for (var i = 1; i <= width; i++) {
             lastX = x[currentRow] = (x0[currentRow] +
                     a *
                         (lastX +
@@ -281,6 +283,7 @@
                             x[++lastRow] +
                             x[++nextRow])) *
                 invC;
+          }
         }
         set_bnd(b, x);
       }
diff --git a/example/Richards.dart b/example/Richards.dart
index 2cba39e..3cbae66 100644
--- a/example/Richards.dart
+++ b/example/Richards.dart
@@ -424,7 +424,9 @@
     link = null;
     if (queue == null) return this;
     Packet peek, next = queue;
-    while ((peek = next.link) != null) next = peek;
+    while ((peek = next.link) != null) {
+      next = peek;
+    }
     next.link = this;
     return queue;
   }