Pass 'show-detail' for bidding

* add new 'sniper_list_item' layout for detail views
Renamed SniperState to SniperSnapshot.

SniperState has state (SniperState enum), so don't need to pass
state param to the SniperListAdapter.sniperStateChanged(..)
Renamed SniperListener.sniperBidding into SniperListener.sniperStateChanged

* it will work as general state change notification
Narrow down the SniperListener interface into one method

 * sniperStateChanged() supports all cases now.
Fixed AuctionSniperTest to test details of state change
Refactored SniperSnapshot/SniperState as State machine

* AuctionSniper doesn't care about SniperState details
Removed old versions of check methods from tests.
Finished 'show-detail' feature with ListView

 * extracted SniperListener from MainActivity -> UiThreadSniperListener
 * let SniperListAdapter implement SniperListener (Decorator)
 * Renamed a few for readability