Returning header names in the correct order along with data.

I have the requirement to be able to rebuild the CSV data on the client in exactly the same format as was sent from the server. The "allWithHeaders" method worked well for me but as a map doesn't keep the order, I wasn't able to rebuild the columns in the correct order.

I added a additional method "allWithOrderedHeaders" which returns a tuple (List[String], List[Map[String, String]]) allowing me to iterate through the headers in the same order as they are defined in the CSV data.