Language negotiation fixes and Cookie language storage

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