make Search's <input> a controlled component

After updating to react 0.12, for some reason
`this.refs.queryInput.state.value` no longer works, so I refactored it
into a controlled component:
http://facebook.github.io/react/docs/forms.html
update gulp-livereload usage

version 3.x has slightly different API