beforeEnter and afterEnter

View manager will now look for a beforeEnter function on the entering
view and a beforeExit on all exiting views.  beforeEnter and beforeExit
functions must return promises, but if these functions do not exist,
then view manager will skip the process.