I have a third party REST API that needs to be called from Salesforce, using OAuth for authentication. Is this actually possible? If so, how? I really can't find anything useful on the web. For me, it seems that I would have to build this myself.
You can use the "named credential" feature http://help.salesforce.com/apex/HTViewHelpDoc?id=named_credentials_about.htm&language=en_US
With named credentials the Oauth2 authentication flow is handled automatically, you don't need to implement specific code for it.