Icon Font Updates

Split the icon-font mixin into separate mixins, functions and variable files

Status: **Opened for visibility**
Reviewers: @ry5n @kpeatt 
JIRA: N/A

## Changes
- Split the old `_icon-font.scss` into discrete files:
- `variables/icon-font`
  - contains all the default icon style variables
- `functions/icon-address`
  - is what you use to return an icon's address (i.e. `\e000`)
- `utilities/icon-base`
  - is the mixin that applies the basic icon styles - usually included onto `c-icon`
- `utilities/icon-replace`
  - is the mixin that adds text replacement
- `utilities/web-font`
  - is how we add `@font-face`, changed to accomodate any font files, not just icons

## Notes
- These changes will require further updates to Vellum and Stencil
  - Vellum, to add the `@include web-font` to `_typography.scss` to add the icon's font files
  - Vellum, to add the `$icon-list` map variable
  - Stencil, to update the `_icon.scss` component
Are these lines (`margin`, `font-size` and `line-height`) needed? Margins on generated content are zero by default, and font-size and line-height are both inherit by default. We can probably drop these three properties, unless I’m missing something.