Implement handling of the TestSet-PDU.
Implement handling of the TestCleanup-PDU.
Implement handling of the CommitSet-PDU.
improve cleanupset(), add varbind::get_var()

- master_proxy::cleanupset() now clears the 'setlist; (which is the list
  of variables involved in the current Set operation).
- Added varbind::get_var()
Break up the concepts of 'value' and 'variable'.

This is a big design change. The 'variable' types were used to implement
two distinct concepts:
- Represent a value, e.g. an Integer value
- Represent a variable (an object performing actions on Set and Get
  requests).
The variable had an internal value. Simply returning this value is not
enough for a Get request. Conceptionally, a variable has no internal
state, but determines the current value on each Get request. Similarly,
on a Set request, the new value must effect something, storing it within
the variable object isn't enough. Thus, the internal value could be seen
as a cache.

This commit breaks the concepts an introduce two new classes (or rather
class hierarchies): 'value' and 'variable'.

The types Integer, Octet_String, Counter32 and so on are not longer
derived from 'variable', but from the new class 'value' (i.e. 'variable'
was basically renamed to 'value'). This class represents a value and is
not used to implement SNMP variables.

In addition, a new class 'variable' was introduced to represent the
variables. This class is derived by the newly-introduced
primitive_variable class, which is new the base class for
user-implemented SNMP variables.

The design (and code) still needs cleanup, and the documentation is now
heavily out-of-sync. This will be fixed in the up-coming commits.
Improve/Document variable class hierarchy
Improve value type hierarchy.

The type value was renamed to value_t. In addition, the concrete classes
(such as Octet_String) were reworked to provide getter and setter. Some
classes didn't have them before, because they were intendet to be
derived by the user of agentXcpp.
Update subagent howto.
Add a howto for write support.
Implement handling of the UndoSet-PDU.
ResponsePDU: Change handling of error_t values.

The ResponsePDU::set_error() function doesn't longer check its
parameters, and the ResponsePDU parse constructor now checks for all
values (to detect a malformed PDU). Note that the constructor
did accidentally only accept a subset of error_t values before.

This also fixes an error which appeared when performing SET to a
read-only primitive_variable: no response was sent in this case, because
ResponsePDU didn't accept the noAccess error (which means "read-only").
Fix coding errors in tutorial.
Merge branch 'master' into implement_set

Conflicts:
	doc/api.mainpage
	doc/how_to_write_a_subagent.dox
	doc/howto.dox
	doc/subagent_howto.dox
	src/TimeTicks.hpp
	src/master_proxy.cpp
	src/master_proxy.hpp

Merging the master branch was necessary, because the networking code was
re-implemented to use QtNetwork, and because notifications were added.
Both may break the code and documentation changes made on this branch,
and I decided to clean things up here, before putting them on the master
branch.
Use pointers, not references in handle_*_pdu()
Update tutorials.
Update doxygen configs to version 1.8.1.2.
Remove most doxygen warnings.
Rename value_t -> AbstractValue.
Rename Integer -> IntegerValue.
Rename Octet_String -> OctetStringValue.