Merge pull request #3 from datanium/master

pull code
Merge pull request #32 from benitoro/master

result sort by year
Merge pull request #4 from datanium/master

pull code for perl
Merge pull request #34 from benitoro/master

separate gird/chart result; pick primary dimension for chart view
Merge pull request #5 from datanium/master

merge
Merge pull request #35 from benitoro/master

new feature: able to mark a dimension as primary
add measure count validation
Merge pull request #36 from tonymouse/master

add measure count validation
Merge pull request #9 from datanium/master

pull from upstream