Fix Thread leaking in ThreadLocalVariables

- introduce #bind method to avoid value leaks
- warn on using just #value=
Instead of raising an error and refusing to work, could we instead output a warning and fall back to the original, degraded implementation? Leave it to the individual user to decide if they want to use the `ref` gem.

This is the approach the `elasticsearch` gem uses to enable persistent connections. It detects the presence of either `typhoeus` or `patron` and uses that gem when available. Without either of those optional dependencies the `elasicesearch` gem still works, it just doesn't perform as well.