Makes the number of ports to use by the cluster configurable (it was hardcoded as 100).

In most cases this is not an issue, since there will not be more than 100 hazelcast
instances running on a single machine. But in those rare cases where this is needed
(e.g. for testing) this property can be set. If not set, it will default to 100, so
there will not be any change if not configured explicitly.
instead of reusing the serversocket/serversocketchannel, they are repladed at every attempt to find a free port.

The reason to do so is because if multiple threads/processes are concurrently trying to find a free port, that
sometimes the serversocket gets corrupted and no matter if there are free ports, none will be found. Replacing
the serversocket on every try solves that issue.
* fixed typo
* fixed error with checking if no port is found
* XmlConfigBuilder: made the port-count an attribute of port
* XmlConfigBuilder: the auto-increment property is now optional and default to true
* add an overloaded method to the Logger that accepts a class instead of a String, this makes creating a Logger simpler since instead of
  ILogger logger = Logger.getLogger(Foo.class.getName())
  one can write
  ILogger logger = Logger.getLogger(Foo.class)

* also changed the existing call to make use of this overloaded method.
Made loggers static where possible
updated tracking js
Merge remote-tracking branch 'origin/3.0' into 3.0
SEO friendly title
Merge pull request #546 from pveentjer/feature/3.0/configurable-server-portrange

Configurable maximum number of ports to use for cluster
Merged #548
Merge pull request #550 from pveentjer/feature/3.0/logger-getLogger-with-class-parameter

extra method on Logger that accepts a class
Merged #551
Client Issue Test #267
Cleanup.
Fixed parallel testing joiner race issue.
Fixed a very important migration bug.
Cleaned up console prints.
Improve serializer registration checks.
Merge branch '3.0-ps' into 3.0