proper/correct synchronization on hashmap to avoid ConcurrentModificationException
ShadowViewPager should not dispatch to the listener during setCurrentItem if the index to set is unchanged.

I had come across an issue where my listener was calling back to setCurrentItem(), causing a cyclical recursion and eventual stack overflow. With this fix, the second call to setCurrentItem in the recursion will result in a no-op, allowing the original call to complete.  This matches the logic in the real ViewPager class.
Just look for the android resource path one time. We should be confident that it won't move between tests.
Use fest's assertThat.
Remove direct hamcrest dependency.
Optimize imports (sorry).
adding fest jars
Merge branch 'master' of https://github.com/pivotal/robolectric
Abolish org.junit.Assert.assertThat.
Remove hamcrest matchers; use fest-android instead: https://github.com/square/fest-android
Merge remote-tracking branch 'bchang/master'

* bchang/master:
  ShadowViewPager should not dispatch to the listener during setCurrentItem if the index to set is unchanged.

Conflicts:
	src/main/java/com/xtremelabs/robolectric/shadows/ShadowViewPager.java
Merge remote-tracking branch 'tbsandee/robolectric-2-concurrentmodexception'

* tbsandee/robolectric-2-concurrentmodexception:
  proper/correct synchronization on hashmap to avoid ConcurrentModificationException

Conflicts:
	src/main/java/org/robolectric/bytecode/ClassCache.java
Updated usage of the fest-assert-core jar
Remove long-deprecated @Values(locale=...).
RobolectricContext retains its calculated android SDK path, not a static in AndroidResourcePathFinder. Statics are evil.
Better error messages when Android SDK or other resource dirs are missing.
Class.class.getName(), not "package.Class".
Move remaining com.xtremelabs.robolectric.* to org.robolectric.
Merge branch 'master' of github.com:pivotal/robolectric into robolectric-2-master