Replace high pass count assertion with a warning for over 100 passes and an exception over 5000 passes.

The assertion was getting in Niall's way at 500, so I figure it would
be good to get some real diagnostic info.
Add https://github.com/darrengarvey/cgi as a submodule
Added support for parsing .gitattributes into boost::property_tree using new custom property_tree::gitattributes_parser.
Remove unused flotsam
Put gitattributes_parser in a separate file, where it belongs
Get gitattributes_parser out of the property_tree namespace
Remove more flotsam
Added glob to regex conversion and precompiled regex to gitattrib cache for speed. Even with this, performance has taken a serious hit.
Remove flotsam
Finished changes. Appears to work well, at the cost of a significant loss of performance.