Introduce a sane way to terminate background threads

Sometimes during interpreter shutdown you can see the following:
"Exception in thread PlumbumTimeoutThread (most likely raised during interpreter shutdown)"

It happens due to the fact that there is no sane way to terminate two background PlumbumTimeoutThread-s. 

My patch does the following:
1) Introduces plumbum.shutdown() function
2) Modifies _timeout_thread() to avoid infinite blocking on Queue.get()