## 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/dashboard.py
request = self.context["request"]
        team = Team.objects.get(id=self.context["team_id"])
        validated_data.pop("last_refresh", None)  
        if not validated_data.get("dashboard", None) and not validated_data.get("dive_dashboard", None):
            dashboard_item = DashboardItem.objects.create(team=team, created_by=request.user, **validated_data)
            return dashboard_item
        elif validated_data["dashboard"].team == team:
            created_by = validated_data.pop("created_by", request.user)
            dashboard_item = DashboardItem.objects.create(
                team=team, last_refresh=now(), created_by=created_by, **validated_data
            )
            return dashboard_item
        else:
            raise serializers.ValidationError("Dashboard not found")
    def update(self, instance: Model, validated_data: Dict, **kwargs) -> DashboardItem:
        
        validated_data.setdefault("is_sample", False)
        return super().update(instance, validated_data)
    def get_result(self, dashboard_item: DashboardItem):