Current implementation of controllers makes it hard to implement favicon
changes outside of build/job controllers. The problem is that if a job
is viewed, both controller are populated, which means they will both
send state change events to change favicon. This commit adds a check for
build controller, which allows to disable state change events when we're
viewing a job
In search there was a check on 'auth' in the view and we no longer
inject auth into views. That's why the check needs to be done on the
controller.
The other thing is that slash breaks the URL currently, so this commit
also changes slash in the search phrase into %2F character.
Depending on isNew can result in rerendering templates in some cases, which will
also create a new object controller, which in turn will reset isEditing value.