Make ElasticaConnection a real singleton

2 reasons to make it a real singleton:
* In code using this, I want less tight coupling. Instead of static function
  calls (like Connection::setTimeout or Connection::destroySingleton), I
  would prefer to be able to just pass it a certain (descendant of) an object
  where I can then ->setTimeout on.
* This class is meant to be extended (it's abstract, needs getServerList)
  but it would currently only support 1 connection (regardless of however
  classes extend from this one, all will have the same self::$client of
  whichever class called that first.

I've kept all old methods for BC. New methods are horribly named (suffix '2')
so I'm open for suggestions there :)

I've also removed $options argument from getClient(). It wasn't used anywhere
in Elastica/CirrusSearch, and its implementation probably should've been
revisited anyway.

Change-Id: I5848fac3a79fc694875f5bc5ca3073d7a0190e55