Added a number of features to the beer function

Here's a quick list of the changes that I implemented:

1) AliasedBeer exception now returns both the old as well as the new URL

```
    try:
		data = RateBeer().beer('/beer/3-fonteinen-akkurats-gold-geuze-50-50/46980/')
    except RateBeer.AliasedBeer as e:
        print 'Aliased beer'
        print '    Original: {0}'.format(e.oldurl)
        print '    Alias: {0}'.format(e.newurl)
 ```

2) Now returns the beer's URL, description, the brewery it was produced at (if contract brewed), and seasonal information (if available)

 ```
 beer = RateBeer().beer('/beer/ordrup-soldug/107772/')
 print beer
 ```
3) The beer function no longer returns a number of beer attributes if they are not found on the webpage. I prefer this style (raising a KeyError exception when the attribute is not found) to including a None, but it's up to you whether or not to keep the change. It seems more inline with the other functions.

4) Minor formatting changes to reduce some of the descriptions to 80 characters per line.