Actually, the formatting options should be part of Tools>Options. There are already some rudimentary options unter "Coding>Code Generation". This can be expanded a lot. All kinds of braces placing options, spacing issues; a preview of how code is going to look like with the selected options...
These options should not only be used for the new "Reformat code" command, but also for existing commands that generate code (refactorings, maybe automatically reformat new files added to the project?).
Take a look at the PrettyPrintOptions class in NRefactory to get an overview of the options already supported. "Maximum line length" was just an example of an additional option.
Yes, the command should be a menu option (Edit>Format would be fitting), and should get a shortcut.
About NRefactory:
Basically, NRefactory is just a Abstract Source Tree (AST) for C# and VB, with input (code parsing) and output (code generation).
The output part should be pretty easy to understand - though you'll first have to know the visitor pattern.
The input part requires understanding of parsers (lexical analysis, LL(1)-parsing).
The AST classes themselves just represent language constructs. Read the C# / VB language specifications to see all the constructs and their syntax.