Update selection directive to handle cleared model state

resolve #33 and resolve #34
I am not a huge fan of the double for each, but I figured it would be cheaper to do this then do .find('tr').  In the example I ran, I had 500 tables rows, but only 1 selected in single select and a few selected in multiple select. I figure the cost of the forEach is pretty nominal overall.