* Updating client dependancies. Switching to using yarn.
* Updating React
* Moving pure components to using function syntax (performance gains with newer react version)
* Updating client dependancies.
* Ignore .yarninstall
* Enabling pre-lockfile because it's the entire point of using yarn.
* Removing old webpack config
* Moving to new prop-types
* Fixing ESLint Errors
* Updating jest snapshots.
* Cleaning up package.json
webapp/utils/utils.jsx got big and that caused a potential circular
dependency with webapp/stores/team_store.jsx. This change solves the
issue by introducing webapp/utils/url.jsx and moving URL-related
functions, which is not likely to depend on actions and stores, from
webapp/utils/utils.jsx.
* Added highlighting to links when their URL includes the search term
* Decoupling UserStore from react-router to allow for unit tests involving it
* PLT-3998 Added SiteURL as an option to be passed into the text formatting code
* Removed reference to PreferenceStore and window from TextFormatting
* Refactored TextFormatting to remove remaining browser-only code
* Updated ChannelHeader and MessageWrapper to match the changes to TextFormatting
* Increased max listeners for Preference and Emoji stores
* PLT-3832 Added automated unit tests for autolinking
* PLT-3567 Rerender posts when mention keywords change
* Updated RHS and search to match the changes to TextFormatting
* Broke TextFormatting's dependency on the UserStore