Cleanup up synchronization handling for blacklists, whitelists, and active requests. Preferring concurrent collections in java.util.concurrent when possible.
Merge branch 'logger-cleanup' into synchronization-cleanup
Merge branch 'logger-cleanup' into synchronization-cleanup
Made modifiable fields of BrowserMobHttpClient volatile, since other threads may update them through the REST interface. Made some immutable fields final where possible.
Added server shutdown to test
Made UserAgentStringParser initialization on-demand, to prevent update traffic and log messages when not writing to a HAR
Minor ArrayList size addition
Delete unused proxies after expiration time passes
Merge branch 'logger-cleanup' into synchronization-cleanup

Conflicts:
	src/main/java/net/lightbody/bmp/proxy/ProxyManager.java
Merge branch 'logger-cleanup' into synchronization-cleanup
Merge remote-tracking branch 'upstream/master' into synchronization-cleanup
Merge remote-tracking branch 'remotes/bm-gh/master' into tmp
Added data transfer limits
Documented data limit API call
Added support for empty, enabled whitelists.
Merge remote-tracking branch 'upstream/master' into synchronization-cleanup
Updated uadetector to most recent version
blacklist with method matcher
make method parameter optional
Merge pull request #124 from neoalienson/blacklist_with_method

Blacklist with method matcher