Migrate rest of compile commands to new options framework
As I was in the neighbourhood, I converted the other "compile"
subcommands to the new options framework too.  Specifically, "compile
code" and "compile file".
The user-visible changes are:
  - All abbreviations of "-raw" are accepted now, instead of just -r.
    Obviously that means "-ra" is now accepted.
  - Option completion now works.
  - "compile file" did not have a completer yet, and now it knows to
    complete on filenames.
  - You couldn't use "compile file" with a file named "-something".
    You can now, with "compile file -- -something".
gdb/ChangeLog:
2019-06-13  Pedro Alves  <palves@redhat.com>
	* compile/compile.c (struct compile_options): New.
	(compile_flag_option_def, compile_command_option_defs)
	(make_compile_options_def_group): New.
	(compile_file_command): Handle options with
	gdb::option::process_options.
	(compile_file_command_completer): New function.
	(compile_code_command): Handle options with
	gdb::option::process_options.
	(compile_code_command_completer): New function.
	(_initialize_compiler): Install completers for "compile code" and
	"compile file".  Mention available options in "compile code" and
	"compile code"'s help.
	* completer.c (advance_to_completion_word): New, factored out from
	...
	(advance_to_expression_complete_word_point): ... this.
	(advance_to_filename_complete_word_point): New.
	* completer.h (advance_to_filename_complete_word_point): New
	declaration.
gdb/testsuite/ChangeLog:
2019-06-13  Pedro Alves  <palves@redhat.com>
	* gdb.compile/compile.exp: Adjust expected output to option
	processing changes.