Enhance personality syscall decoding

* personality.c (SYS_FUNC(personality)): On entering syscall,
print first argument not as a hex value but as a set of flags.
On exiting syscall, print return code as a set of flags.
* NEWS: Mention this enhancement.
diff --git a/NEWS b/NEWS
index 09263eb..f66d321 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,9 @@
 Noteworthy changes in release ?.?? (????-??-??)
 ===============================================
 
+* Improvements
+  * Enhanced decoding of personality syscall.
+
 * Bug fixes
   * Fixed build on arc, metag, nios2, or1k, and tile architectures.
 
diff --git a/personality.c b/personality.c
index 5c425c6..2030374 100644
--- a/personality.c
+++ b/personality.c
@@ -6,7 +6,11 @@
 
 SYS_FUNC(personality)
 {
-	printxval(personality_options, tcp->u_arg[0], "PER_???");
+	if (entering(tcp)) {
+		printflags(personality_options, tcp->u_arg[0], "PER_???");
+		return 0;
+	}
 
-	return RVAL_DECODED;
+	tcp->auxstr = sprintflags("", personality_options, tcp->u_rval);
+	return RVAL_HEX | RVAL_STR;
 }