Endpoint typeclass

Added Endpoint typeclass it would be used for generalizing API requests
instance Endpoint CommentId Comment
instance Endpoint ItemId Item
instance Endpoint PollId Poll
instance Endpoint PollOptId PollOpt
instance Endpoint UserId User
instance Endpoint JobId Job
instance Endpoint CommentId Comment
instance Endpoint TopStoriesId TopStories

Web.HackerNews.Story.MaxItem -> Web.HackerNews.Item.MaxItem

instance Endpoint MaxItemId MaxItem
Generalized API calls

All calls to API are done through generic function `getEndpoint`.

The `get*` shortcuts are implimented through that generic function

The good thing is that now everything that uniquely relates to specific
call is defined inside a module which represents that call.