On Achievable Rates for User Cooperation and Relay Channels