Refactored locale middleware

- Accepts a prioritized list of locale augmenter functions
- Allows locale to be pulled from the cookies
- Added more documentation