Expose the webagent.

I need to use the webagent for arbitrary calls (like get a wiki page,
etc.)
Preliminary support for wiki

Some new stuff for wikis as requested.  I reverted the exposing of the
WebAgent, although it might be a good idea to leave it open since it
adds flexibility at no overhead.

I think everything is here, except wiki page revision diffs which i
don't think have support in the public api. Everything is in a new Wiki
object in the Subreddit class.

The only modification to existing code is in the Thing class.  I had to
add parsing by generic type (Parse<T>) so I could get Listing support
for Things that aren't "Things" like page revisions.  Slight change to
Listing to call the generic Parse function. If this is bad form let me
know.  It shouldn't affect anything.

I also have an xunit test project that I didn't check in for this.  Let
me know if you want that too.
Use enum to vote on VotableThing
Fix warnings in Listing and WikiPageRevision
Make second Reddit constructor

This constructor automatically logs onto the given account.
Increase upvotes/downvotes after voting.
Make publicly exposed URLs URIs
Re-added Upvote/Downvote methods.
Add FrontPage and /r/All also to the Reddit class.

I kept it in the Subreddit class, but this makes more sense to me. Also
in the Reddit class there already is an GetSubreddit(string) method.
Avoid code duplication by calling SetVote...

in the Upvote and Downvote methods of VotableThing.
Change Reddit.GetThing to generic method.
Remove need of using prependDomain.
Even more URIs
Added Thread.Sleep to rate limiter.
Add GetParent() To PrivateMessage

Returns the parent of a privatemessage, if it's in a thread.
Update PrivateMessage.cs
Update PrivateMessage.cs
Update PrivateMessage.cs
Update PrivateMessage.cs
Add Parent property and GetThread() method

Because I'm a nice guy