Language negotiation fixes and Cookie language storage

* Added support for language cookies.
* Added proper language negotiation using Accept-Language Headers
** Language Accept-Headers may contain more than just on acceptable language
** Doing this properly also opens up the option of using country codes in the URL (ex. /en-US/ or /en-UK/)