[trac3470] Replace static containers with shared pointers in SignalSet

Changed the functions, getRegisteredSignals() and getSignalStates()
to instantiate static shared pointers and return these, rather than
raw pointers to statically declared containers.

Added private shared pointer members to SignalSet, registered_signals_
and signal_states_.  These are initialized within SignalSet constructors
by calling the functions getRegisteredSignals() and getSignalStates()
respectively.  This ensures that both static lists remain inscope until
all SignalSets have been destroyed.

Replaced use of getRegisteredSignals() and getSignalStates() with
new private members, registered_signals_ and signal_states_.

Removed work-around code in src/bin/d2/d_controller.cc put in place
until this ticket was resolved.
[3486] DHCPv6 now processed vendor-class option properly.
[master] ChangeLog updated after 3486 merge.
moved gtest sources to ext/gtest [Trac #3162]
update git hash
[3470] Addressed review comments

    Corrected two replacments of getSignalStates() that were overlooked.
[master] Merge branch 'trac3470'
[master] Added Changelog entry 851 for #3470.