This fixes a set of bugs related to tracking which threads are active in
getBitmapFromURL.

We now use an atomic counter to track how many threads are active it the
getBitmapFromURL method.

1) No more concurrent modification exceptions, (1 thread is checking
checkThreadControl whilst another is calling getBimapFromURL)
2) No more forgotten elements, there are exit paths that could lead to
elements never being removed from the list (GeneralSecurityException &
empty url)
3) Less memory being used.