[EAGLE-957] Add dashboard metadata entities and services

# Add dashboard metadata entities and services
* org.apache.eagle.metadata.model.DashboardEntity
* org.apache.eagle.metadata.service.DashboardEntityService (Memory/JDBC)
* org.apache.eagle.metadata.resource.DashboardResource

# API

    DELETE  /rest/dashboards/{uuid} (org.apache.eagle.metadata.resource.DashboardResource)
    GET     /rest/dashboards (org.apache.eagle.metadata.resource.DashboardResource)
    GET     /rest/dashboards/{uuidOrName} (org.apache.eagle.metadata.resource.DashboardResource)
    POST    /rest/dashboards (org.apache.eagle.metadata.resource.DashboardResource)

# Example
* Create dashboard

	 	POST    /rest/dashboards

		{
		  "name": "Sample Dashboard",
		  "description": "This is a sample dashboard",
		  "settings": {
		  },
		  "charts": [
		    "{chartType: LINE}",
		    "{chartType: PIE}"
		  ]
		}

* Update dashboard

		POST    /rest/dashboards
		{
		  "uuid": "e24fd133-adc2-4dd2-b7aa-ebf4890b145a"
		  "name": "Sample Dashboard 2",
		  "description": "This is another sample dashboard"
		}

Author: Hao Chen <hao@apache.org>

Closes #873 from haoch/EAGLE-957.
16 files changed