## Is your feature request related to a problem?

A user mentioned needing a feature to clone dashboards as they create the same dashboard multiple times, each for a different end-customer. Given that we are already planning on doing default / custom dashboards (#1659) we can add this functionality to facilitate dashboard creation.

## Describe the solution you'd like

Simple functionality to duplicate a dashboard.
- Add "Duplicate" button to dashboard list and clone dashboard (e.g. "Copy - AARRR").
![screenshot](https://user-images.githubusercontent.com/5864173/93866745-fce46100-fcbf-11ea-8c96-b1acfb1981d5.png)


## Describe alternatives you've considered
Re-create the dashboard manually.


## Additional context
No additional context.


#### *Thank you* for your feature request – we love each and every one!

posthog/api/test/test_dashboard.py
dashboard = Dashboard.objects.create(
            team=self.team, name="private dashboard", created_by=self.user, creation_mode="template",
        )
        response = self.client.patch(
            f"/api/dashboard/{dashboard.id}",
            {
                "name": "dashboard new name",
                "creation_mode": "duplicate",
                "tags": ["official", "engineering"],
                "description": "Internal system metrics.",
            },
        )
        self.assertEqual(response.status_code, status.HTTP_200_OK)
        response_data = response.json()
        self.assertEqual(response_data["name"], "dashboard new name")
        self.assertEqual(response_data["created_by"]["distinct_id"], self.user.distinct_id)
        self.assertEqual(response_data["creation_mode"], "template")
        self.assertEqual(response_data["description"], "Internal system metrics.")
        self.assertEqual(response_data["tags"], ["official", "engineering"])
        dashboard.refresh_from_db()
        self.assertEqual(dashboard.name, "dashboard new name")
        self.assertEqual(dashboard.tags, ["official", "engineering"])
    def test_create_dashboard_item(self):