Fix several minor bugs in soap_device.c

1) remove redundant free
2) avoid user-provided ErrStr being overwritten by the default one
3) eliminated memory leak possiblity in handle_query_variable

Signed-off-by: Marcelo Roberto Jimenez <mroberto@users.sourceforge.net>
(cherry picked from commit bf60dc06e060583d8befdb23df566b6a27b062f0)

Conflicts:
	upnp/src/soap/soap_device.c