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).
Never mind, misread the check. I think it just goes to prove that it's hard to parse :stuck_out_tongue_closed_eyes: