Added function that grabs all the links.
Added failing tests for link grabbing.
Added HtmlFilter
Added HtmlFilters

Added a neat feature where an HtmlParser can take several filters
that can be combined with the && operator.

For instance:
```
val parser = HtmlParser(someData)
parser filter Class("foo") && LinkFilter()
```
The above code would first grab all HTML elements that have the class
foo and then it would filter out all the links from it.
Simplified test data and tests
Removed last reference to regex
Fixed test data.
Added filter that returns the contents of an attribute

You write it as following
```
val html = HtmlProcessor("....")
html filter Content(Attribute("attributeName"))
```

Also rewrote the implementation of `HrefLink` in terms of the above operation
since it is only a special case of it.
Extensively tested all existing filters.
Changed syntax and semantics of RetainFirst

Now RetainFirst behaves in a similar manner to Content. You wrap the filter
for which you want to retain the first value instead of composing it in with
the && operator.