refactor(datepicker)

I will start a PR thread for input/comments, while I am refactoring the datepicker directive.
Main goal is:

 * Split into smaller directives (dayPicker, monthPicker, yearPicker and be easy to add more)
 * Move common logic shared by directives into controller.
 * Address issues with min, max, initial selection, repeated dates etc (TODO: reference #issues)