fix(select): handle changes to the option items

If the option items change the `directive` should refresh the `selectpicker`. The behaviour is now
handled if the user sets the `bs-select` property to the options array (the one that is also set in the
`ng-options`).
The directive already used to do `scope.$eval(attrs.bsSelect)` but then did nothing with it.
A `refresh` local function has been added not to replicate the same code of testing new and old
values and then refreshing the `selectpicker`.
A proper test has been added, where an item is pushed into the options array, that same item is
then selected and tested against.

Closes #204.