Added support for Avro schema evolution in RO Stores
Added check in serializer
if writer's schema greater than reader raise an exception
- Refactored schema check method
- added fix to the verioned serializer to support writing of objects
  created using the old schema
Added comments to the new functions
Added testcase for schema evolution check
fixed try catch in versioned avro serializer
Adding a specific mini test that exercises ServerTestUtils.startVoldemortServer. This ~15 line program that simply starts some Voldemort servers using test utils can tickle two different intermittent failures:

(1) ObsoleteVersionException when loading cluster.xml

Testcase: startMultipleVoldemortServers took 0.385 sec
	Caused an ERROR
A successor version version()  to this version() exists for key cluster.xml
voldemort.versioning.ObsoleteVersionException: A successor version version()  to this version() exists for key cluster.xml

and

(2) A bind issue characterized as follows:

Testcase: startMultipleVoldemortServers took 2.066 sec
        Caused an ERROR
java.net.BindException: Address already in use
voldemort.VoldemortException: java.net.BindException: Address already in use
	at voldemort.server.niosocket.NioSocketService.startInner(NioSocketService.java:131)
	at voldemort.server.AbstractService.start(AbstractService.java:62)
	at voldemort.server.VoldemortServer.startInner(VoldemortServer.java:255)
	at voldemort.server.AbstractService.start(AbstractService.java:62)
	at voldemort.ServerTestUtils.startVoldemortServer(ServerTestUtils.java:666)
	at voldemort.utils.ServerTestUtilsTest.setUp(ServerTestUtilsTest.java:50)
Caused by: java.net.BindException: Address already in use
	at sun.nio.ch.Net.bind(Native Method)
	at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:126)
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)
	at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:52)
	at voldemort.server.niosocket.NioSocketService.startInner(NioSocketService.java:125)
Hardening test utils and tests to reduce the number of intermittent
BindException errors due to a TOCTOU issue with getLocalCluster.

The main improvement is the addition of
ServerTestUtils.startVoldemortCluster that wraps getLocalCluster and a
bunch of startVoldemortServer calls in a retry loop based on wether a
BindException occurs. This is suitable to ~75% of our test cases that
use getLocalCluster.

test/common/voldemort/ServerTestUtils.java
- Added startVoldemortCluster

test/unit/voldemort/utils/ServerTestUtilsTest.java
- Tests for ServerTestUtils to reproduce intermittent failures

src/java/voldemort/server/VoldemortServer.java
- TODO note about method that plays a role in another intermittent test failure invovling cluster.xml

Switched test to use startVoldemortCluster
  test/unit/voldemort/client/AdminServiceBasicTest.java
  test/unit/voldemort/client/rebalance/AdminRebalanceTest.java
  test/unit/voldemort/cluster/failuredetector/ServerStoreVerifierTest.java
  test/unit/voldemort/server/EndToEndTest.java
  test/unit/voldemort/server/socket/NioStatsJmxTest.java
  test/unit/voldemort/store/readonly/swapper/StoreSwapperTest.java
  test/unit/voldemort/store/rebalancing/RebootstrappingStoreTest.java
  test/unit/voldemort/versioning/ChainedInconsistencyResolverTest.java

Junit3 -> Junit 4
  test/unit/voldemort/client/AdminServiceBasicTest.java
  test/unit/voldemort/client/rebalance/AdminRebalanceTest.java
  test/unit/voldemort/server/gossip/GossiperTest.java
  test/unit/voldemort/server/socket/NioStatsJmxTest.java
  test/unit/voldemort/store/readonly/swapper/StoreSwapperTest.java
  test/unit/voldemort/versioning/ChainedInconsistencyResolverTest.java

Annotated with a TODO about the test still needing to be hardened
against TOCTOU issue with getLocalCluster:
  test/integration/voldemort/performance/RoutedStoreParallelismTest.java
  test/unit/voldemort/client/rebalance/RebalanceTest.java
  test/unit/voldemort/scheduled/StreamingSlopPusherTest.java
  test/unit/voldemort/server/gossip/GossiperTest.java
Additional hardening of tests to reduce the number of intermittent
BindException errors due to a TOCTOU issue with getLocalCluster.

test/integration/voldemort/performance/RoutedStoreParallelismTest.java
- switched to startVoldemortCluster

test/unit/voldemort/server/gossip/GossiperTest.java
- hand-coded test-specific startParallelVoldemortCluster. Not pretty. Not pretty at all. But, should retry in the face of such exceptions.

Switched TODO to comment about possible susceptability to BindExceptions:
- test/unit/voldemort/client/rebalance/RebalanceTest.java
- test/unit/voldemort/scheduled/StreamingSlopPusherTest.java
updated copyrights on touched files.
Fixed two small errors I introduced while fixing tests (or merging with master).
Cleaned up comments and TODOs from prior commits.
Added two tools for repeatedly running junit tests. Either specific tests, or all of junit. The benefit of these scripts is that the results from each run are archived toa  temp directory. This allows you to stress test big changes, find intermittent failures, and so on.
Hardened junit long test RebalanceLongTest.java. Other test hardening.

build.xml
- bumped all maxmemory settings to 2048m
- Placed a 90 minute timeout on the long test at ant level.

test/long/voldemort/client/rebalance/RebalanceLongTest.java
- null out some objects in the hopes of reducing the overall memory footprint of these tests. We are truly abusing junit with a long-running, multi-threaded test, that has 10 sub tests and 4 distinct parameter settings.

test/unit/voldemort/client/rebalance/AbstractRebalanceTest.java
- start of tests is not clear in junit log output. Added logger.info to start of tests to make grepping through the log when tests have failed badly and/or are running in an infitie loop easier.
- Bumped each test timeout up to 10 minutes. Again, note abuse of junit: tests should not be defined at the abstract class level. This makes it hard to set appropriate limits (such as timeout) for each specific test. Long tests should have a different timeout than short tests...
Bumped release to 1.0.0 and added release notes.
Tweaked release notes
Explained the versioning number change.
Revised NOTE in the release_notes about version numbering.
initial commit - new duplicate handling
Code review changes