Added timePrecision

Client::setTimePrecision() affects all databases globally, and DB::setTimePrecision() only to the current database object
added more tests
Merging latest changes from upstream