## 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
team_id = self.team_id
        for data in request.data["items"]:
            self.queryset.filter(team_id=team_id, pk=data["id"]).update(layouts=data["layouts"])
        serializer = self.get_serializer(self.queryset.filter(team_id=team_id), many=True)
        return response.Response(serializer.data)
    def retrieve(self, request: Request, *args: Any, **kwargs: Any) -> response.Response:
        pk = kwargs["pk"]
        queryset = self.get_queryset()
        dashboard_item = get_object_or_404(queryset, pk=pk)
        serializer = self.get_serializer(dashboard_item, context={"view": self, "request": request})
        return response.Response(serializer.data)
@xframe_options_exempt
def shared_dashboard(request: HttpRequest, share_token: str):
    dashboard = get_object_or_404(Dashboard, is_shared=True, share_token=share_token)
    return render_template(
        "shared_dashboard.html", request=request, context={"dashboard": dashboard, "team_name": dashboard.team.name},
    )
class LegacyDashboardItemsViewSet(DashboardItemsViewSet):
    legacy_team_compatibility = True