Repository: getmoto/moto

Issue:
Redshift does not have "ClusterCreateTime" when "describe_clusters"
```
Traceback (most recent call last):
  File "/path/to/lib/python2.7/site-packages/moto/core/models.py", line 71, in wrapper
    result = func(*args, **kwargs)
  File "test_redshift_cluster.py", line 29, in test_check_cluster_status
    self.assertEqual(self.rs._check_cluster_status(self.source_cluster), 'available')
  File "/path/to/redshift_cluster.py", line 83, in _check_cluster_status
    status = sorted(clusters, key=lambda k: k['ClusterCreateTime'], reverse=True)[0]['ClusterStatus']
  File "/path/to/redshift_cluster.py", line 83, in <lambda>
    status = sorted(clusters, key=lambda k: k['ClusterCreateTime'], reverse=True)[0]['ClusterStatus']
KeyError: 'ClusterCreateTime'
```
From the docs of [boto3](https://boto3.readthedocs.io/en/latest/reference/services/redshift.html#Redshift.Client.describe_clusters), it's shown that `ClusterCreateTime` should be present, but it's not the case when mocking the instance/cluster using moto.

How to reproduce:

function code:
```
import boto3
def quick_describe(cluster_name):
    client = boto3.client('redshift')
    response = client.describe_clusters(ClusterIdentifier=cluster_name)
    return response
```

test code:
```
from moto import mock_redshift

from some_path import quick_describe

@mock_redshift
class TestRedshift(unittest.TestCase):
    def test_cluster_status(self):
        client = boto3.client('redshift')
        response = client.create_cluster(
            ClusterIdentifier='unittest',
            NodeType='ds2.xlarge',
            MasterUsername='TestUser',
            MasterUserPassword='TestPassword')
       response = quick_describe('unittest')
       print(response)
```
And there's no `ClusterCreateTime`


Discussion:

Resolving patch:
diff --git a/moto/redshift/models.py b/moto/redshift/models.py
--- a/moto/redshift/models.py
+++ b/moto/redshift/models.py
@@ -78,6 +78,7 @@ def __init__(self, redshift_backend, cluster_identifier, node_type, master_usern
         super(Cluster, self).__init__(region_name, tags)
         self.redshift_backend = redshift_backend
         self.cluster_identifier = cluster_identifier
+        self.create_time = iso_8601_datetime_with_milliseconds(datetime.datetime.now())
         self.status = 'available'
         self.node_type = node_type
         self.master_username = master_username
@@ -237,6 +238,7 @@ def to_json(self):
                 "Address": self.endpoint,
                 "Port": self.port
             },
+            'ClusterCreateTime': self.create_time,
             "PendingModifiedValues": [],
             "Tags": self.tags,
             "IamRoles": [{


Test patch:
diff --git a/tests/test_redshift/test_redshift.py b/tests/test_redshift/test_redshift.py
--- a/tests/test_redshift/test_redshift.py
+++ b/tests/test_redshift/test_redshift.py
@@ -1,5 +1,7 @@
 from __future__ import unicode_literals
 
+import datetime
+
 import boto
 import boto3
 from boto.redshift.exceptions import (
@@ -32,6 +34,8 @@ def test_create_cluster_boto3():
         MasterUserPassword='password',
     )
     response['Cluster']['NodeType'].should.equal('ds2.xlarge')
+    create_time = response['Cluster']['ClusterCreateTime']
+    create_time.should.be.lower_than(datetime.datetime.now(create_time.tzinfo))
 
 
 @mock_redshift