comments and whitespace
move wildcard checks to value objects
move matching on charset and encoding to value object
move matching on language to value object
move matching on language to value object
move matching on media to value object
standardize negotiation logic
standardize negotiation logic
return a StdClass object with properties 'available' and 'acceptable' so that callers get as much info as possible