BP to return $8bn to shareholders after TNK sale