Async user mapper

Adds Tests For [PR 1643](https://github.com/NancyFx/Nancy/pull/1643).  Also "Nancy-ifies" the code to keep it stylistically similar to the rest of Nancy. (Only one small change). It fixes a bug in the otherwise excellent implementation provided by @ExUltima (the UserMapper was still required even if an Async one existed).
What happened to the good old `if (this.UserMapper == null && this.AsyncUserMapper == null)` that we can all understand? :stuck_out_tongue_closed_eyes: