fixed the "too many SQL variables" issue by changing the underlying data fetching mechanism. Now we only request all the data in one query.
modified scatter report underlying data structure
modify the front end of scatter report to work with the new data structure
fixed the broken test due to front end changes of scatter report
enabled scatter report facility and group selection and solved race condition for retrieving facility_id and group_id
Merge pull request #2772 from 66eli77/develop

Fix #2752: Scatter report "too many SQL values" issue is fixed, also new UI