Merge pull request #11 from ntrepid8/feature/add-sort-keys-3

add sort_keys
diff --git a/pytoml/writer.py b/pytoml/writer.py
index 055ab65..8915af6 100644
--- a/pytoml/writer.py
+++ b/pytoml/writer.py
@@ -6,9 +6,9 @@
     unicode = str
 
 
-def dumps(obj):
+def dumps(obj, sort_keys=False):
     fout = io.StringIO()
-    dump(fout, obj)
+    dump(fout, obj, sort_keys=sort_keys)
     return fout.getvalue()
 
 
@@ -82,10 +82,12 @@
         raise RuntimeError(v)
 
 
-def dump(fout, obj):
+def dump(fout, obj, sort_keys=False):
     tables = [((), obj, False)]
 
     while tables:
+        if sort_keys:
+            tables.sort(key=lambda tup: tup[0], reverse=True)
         name, table, is_array = tables.pop()
         if name:
             section_name = '.'.join(_escape_id(c) for c in name)
@@ -94,7 +96,8 @@
             else:
                 fout.write('[{}]\n'.format(section_name))
 
-        for k in table:
+        table_keys = sorted(table.keys()) if sort_keys else table.keys()
+        for k in table_keys:
             v = table[k]
             if isinstance(v, dict):
                 tables.append((name + (k,), v, False))