Add random agent feature

This adds the functionality of random agent for HTTP requests
What happens here? Doesn't the default header overwrite the random one?