Reorganized everything to fit the new sbt template.

I refactored everything to conform with this [template](https://github.com/lorandszakacs/config/tree/master/sbt/aggregate-project-template)

Still have to extract the following subprojects from sg-downloader:
* util-io
* util-html
* util-http
Added jsoup dependency to html-util
Added basic html parsing with one test.
Added more tests for html parsing.
Added test and implementation of link parsing.
Organized Imports
Solved test data resolution

Tests run from eclipse and tests run from sbt would not run under the current
implementation of the TestDataResolver because they would have different execution
folders. Solved this by adding an application.conf in test-util that requires you to
specify the absolute path of the workspace folder.
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.
Renamed Content to Value
Rewrote HtmlProcessor to return an Option[List[String]]
Added more tests for nested tag retrieval