Allow whitelist to be cleared.

Implemented as both ProxyServer and REST DELETE call on /:port/whitelist
Allow blacklist to be cleared.

Implemented on both ProxyServer and REST DELETE call on /:port/blacklist
Document whitelist and blacklist clearing
Create empty blacklist before first use

Fixes small chance of a race condition when several threads try and get 
/ set blacklist entries. Using a CopyOnWriteArrayList allows for 
concurrent readers and writers, but it needs to be initialised before 
first use to avoid race conditions the first time around.

Also makes it easier to clear the list in a concurrency-friendly way.
Cleanup blacklist entries on shutdown

Just trying to copy what's happening with rewriteRules, to ensure we
do as much tidying as possible.
Guard against concurrent modification of whitelistEntry

Modifying blacklistEntry is thread-safe as it uses a thread-safe data 
structure (CopyOnWriteArray). whitelistEntry is not, as while it uses
a concurrent data structure to track the list of patterns, several
threads / HTTP calls may attempt to set the whitelist or clear the
whitelist concurrently.

Protecting these calls by synchronizing on the BrowserMobHttpClient 
instance should protect againt concurrent modification of the list, and
associated race conditions.
Unit test for black/white list clearing
Use spaces, not tabs. D'oh!
Merge branch 'feature/clear-black-and-white-lists' of git://github.com/andyclark/browsermob-proxy into andyclark-feature/clear-black-and-white-lists

Conflicts:
	src/test/java/net/lightbody/bmp/proxy/BlackAndWhiteListTest.java