Favicon shortcut

handle additional favicon markup scenarios.

```html
<link rel="icon" href="/src/favicon.ico">
```

or

```html
<link rel="shortcut icon" href="/src/favicon.ico">
```

or

```html
<link rel="shortcut" href="/src/favicon.ico">
```

or

```html
<link href="img/apple-touch-icon-58x58.png" rel="apple-touch-icon" sizes="58x58" />
<link rel="shortcut icon" href="/src/favicon.ico">
```

example: http://www.twinehealth.com. Before this patch, favicon would return nil. After, it returns http://www.twinehealth.com/img/android-icon-196x196.png

Two more things we could do in the future:

1. if no favicon is specified, go through the various apple/android touch icons and pick the biggest one
1. if no favicon is specified, do a GET (or maybe HEAD) request for /favicon.ico to see if it's there