CF error during template validation: TypeError: decode() takes 1 positional argument but 2 were given
Full error:
```
File "/home/travis/build/spulec/moto/moto/cloudformation/responses.py", line 399, in validate_template
    cfn_lint = self.cloudformation_backend.validate_template(template_body)
  File "/home/travis/build/spulec/moto/moto/cloudformation/models.py", line 748, in validate_template
    return validate_template_cfn_lint(template)
  File "/home/travis/build/spulec/moto/moto/cloudformation/utils.py", line 74, in validate_template_cfn_lint
    template, matches = decode.decode(abs_filename, False)
TypeError: decode() takes 1 positional argument but 2 were given
```

Error occurs after `cfn-lint` 0.39.0 was released. 

Travis build that highlights the errors: https://travis-ci.org/github/spulec/moto/jobs/738443110

Specific PR that changed the method-signature: https://github.com/aws-cloudformation/cfn-python-lint/pull/1580/files

PR incoming to fix this
diff --git a/moto/cloudformation/utils.py b/moto/cloudformation/utils.py
index 54c338b9b..d025af5fd 100644
--- a/moto/cloudformation/utils.py
+++ b/moto/cloudformation/utils.py
@@ -71,7 +71,12 @@ def validate_template_cfn_lint(template):
     abs_filename = os.path.abspath(filename)
 
     # decode handles both yaml and json
-    template, matches = decode.decode(abs_filename, False)
+    try:
+        template, matches = decode.decode(abs_filename, False)
+    except TypeError:
+        # As of cfn-lint 0.39.0, the second argument (ignore_bad_template) was dropped
+        # https://github.com/aws-cloudformation/cfn-python-lint/pull/1580
+        template, matches = decode.decode(abs_filename)
 
     # Set cfn-lint to info
     core.configure_logging(None)
['moto/cloudformation/utils.py']