core: dedicated function to check Via address with source ip

- received_via_test() as alternative to received_test() which looks also
  for rport and received parameters, confusing nat detection tests

(cherry picked from commit 194743bf0de92ae09fdc817e57863f6bdb159539)
nathelper: use dedicated function for testing via address against source ip

- reported by Igor Potjevlesch
- previous used functions was checking the presence of rport and
  received parameters, ending in a wrong result for nat testing

(cherry picked from commit 0b10377df11977d7ddd7e6bf30fe060d1fe200aa)
nat_traversal: use dedicated function for testing via address against source ip

(cherry picked from commit c6c4230fb0c4ca18f5c681c7195d3e1531255f3a)
modules/pua: do not override send_publish return value at error
acc: free extra attributes for db, radius and diameter

- after the commit to allocate memory for extra attributes, only log
  accounting was freeing the memory
- reported by Luca M.

(cherry picked from commit 3afb2ea88fea4765a73e37f24b40dff8c8487122)
core: keep the password only if the user part is set

- a report by Timo Klecker

(cherry picked from commit 8c3d167b63096d3b465c53aca92ee18c5255188c)
exec: use proper header field iterator to print env variables

- issue introduced with the patch for shellshock
- reported by and credits for troubleshooting to Kristian Kielhofner

(cherry picked from commit 8855e3e7fcece4ca2ab33e1f9c54b15831152400)
Merge branch '4.2' into lazedo/4.2.1

* 4.2:
  exec: use proper header field iterator to print env variables
  core: keep the password only if the user part is set
  acc: free extra attributes for db, radius and diameter
  modules/pua: do not override send_publish return value at error
  nat_traversal: use dedicated function for testing via address against source ip
  nathelper: use dedicated function for testing via address against source ip
  core: dedicated function to check Via address with source ip