This patch introduces a new class in charge of creating, tracking and
destroying dwarf_entry class based objects.
gdb/ChangeLog:
* dwarf2/expr.c (ill_formed_expression): New function.
(value_to_gdb_value): New function.
(class dwarf_entry_factory): New class.
(dwarf_entry_factory::~dwarf_entry_factory): New method.
(dwarf_entry_factory::record_entry): New method.
(dwarf_entry_factory::create_value): New method.
(dwarf_entry_factory::create_undefined): New method.
(dwarf_entry_factory::create_memory): New method.
(dwarf_entry_factory::create_register): New method.
(dwarf_entry_factory::create_implicit): New method.
(dwarf_entry_factory::create_implicit_pointer): New method.
(dwarf_entry_factory::create_composite): New method.
(dwarf_entry_factory::entry_to_location): New method.
(dwarf_entry_factory::entry_to_value): New method.
(dwarf_entry_factory::value_binary_op): New method.
(dwarf_entry_factory::value_negation_op): New method.
(dwarf_entry_factory::value_complement_op): New method.
(dwarf_entry_factory::value_cast_op): New method.