ENH: Resolutions for month/qtr/year
This does three things

1) Use Resolution objects instead of strings in the places in core.indexes.  This makes whats going on much clearer.
2) To make 1) possible, extend Resolution to include month, quarter, and year.  This means that `pd.period_range("2017", periods=3, freq="A").resolution` is now "year" instead of "day", which is more accurate.
3) with year/quarter/month added, `Resolution` and `FreqGroup` will be re-labellings of each other, so we can de-duplicate them.  They will end up living in tslibs.dtypes.