New Gist description UI with hashtags linked within request context

[ci skip]

 * Refactor GistDecorator#icons
   * Include GitHub icon with link to gist on GitHub
   * Add Block Octocat icons
   * Add GitHub icon styles
 * Add MyGists::Search::Terms to encapsulate getting possible tag and profile search terms
   * Refactor tags cache to be a Hash instead of an Array, so tag slugs can be retrieved by unique names
 * Refactor SearchController to use MyGists::Search::Terms to get search terms instead of directly getting the terms from the cache
 * Add .profile? helper methods to distinguish if the current request is a profile request
   * Define ApplicationHelper.profile? and return false
   * Define ProfileHelper.profile? and Profile::TagsHelper.profile? and return true
 * Remove unused ActsAsTaggableOn::Tag scopes
   * .names
   * .public_names
 * Add ActsAsTaggableOn::Tag.not_in scope to get all tags not in a list of ids
 * Add MyGists::Cache role for each dataset which needs to be cached
   * Each dataset has a a class name matching a convention class 
   * Classes are called from MyGists::Cache.source according to convention
   * Add MyGists::Cache::Profiles and MyGists::Cache::Tags as members of MyGists::Cache role
 * Add MyGists::Cache::Tags::Meta as a data container for Tags cache entries
   * The Tags data structure is a Hash with keys of downcased Tag names and values of MyGists::Cache::Tags::Meta instances
 * Revert tags cache data structure to a plain old Hash since Rails.cache can not load MyGists::Cache::Tags::Meta
 * Refactor specs by moving data setup into factories and stubbing/mocking cache reads
 * Add MyGists::Cache::Tags::Helper.slug_from_hashtag to get a tags slug from the cache by a hashtag
 * In GistDecorator, refactor #hightlight_description into #linkify_description
   * Description hashtags are linked to their global tag path or profile tag path
   * Only linkify a hashtag when a slug is found for the hashtag
   * Now that gist descriptions do not link back to GitHub, remove CSS declaration which forced linked gist profile names to be black, so profile names are more distinguishable as links
   * Update views to not manually link a gist description
   * Add ApplicationHelper.hashtag_to_slug to memoize found slugs and use MyGists::Cache::Tags::Helper.slug_from_hashtag
 * When searching for gists and none are found, note that no "public" gists were found
 * Update Help content to use new definition list markup and add GitHub icon info
 * Move gists and tags SASS into components