Added support to Goon for users to set timeout values for Memcache and Datastore

At the moment, those values are only respected in GetMulti()

GetMulti() will now return the first set of values it can find while only making a Datastore request if the memcache request exceeds it's timeout value or fails to fetch all data

Added a test that has almost 100% coverage of the new code, however there's a race condition in that for one case, the Datastore request literally needs to timeout

This starts work on #15 but there's more to do
implementing more granular timeout values - this allows for:
* an end user application to configure GetMulti to *always* fetch from the datastore at the same time
* making Sets to the memcache more/less impatient than Gets

fixed the tests as the new test was using the standard goon package name and others will still using the legacy goon_test - not sure how this compiled before, sorry I missed it
Merge remote-tracking branch 'origin/memcachetimeout' into merged

Conflicts:
	entity.go
	goon.go
	goon_test.go