printers: Merge TDevice into PpPrintDevice

PpPrintDevice has grown quite a lot since its introduction.
It contains almost all members of TDevice now.
Merging members of TDevice into PpPrintDevice saves us some work
and allows us to process TDevice's data out of pp-new-printer-dialog.c.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Separate canonicalization of device name

Move code for canonicalization of device names to
a separate function for reusability.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Export name of selected PPD from PPD dialog

Add pp_ppd_selection_dialog_get_ppd_display_name() function
which returns human-readable name of selected PPD.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Don't request port during creation of PpHost

This allows us to distinguish between situations when the port
was specified and when it was not.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Make pp_devices_list_free() generally available

Move pp_devices_list_free() to pp-utils.h and optimize it
using g_list_free_full().

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Allow to add AppSocket/HP JetDirect printers

Add pp_host_get_socket_devices_async() and
pp_host_get_socket_devices_finish() functions to PpHost class.
pp_host_get_socket_devices_async() starts searching for socket printer
on given address.
The test consist in connection to the default port 9100 (or the one
given by creator of PpHost) of the address.
We suppose that there is an AppSocket/HP JetDirect printer on the address
if the connection succeeds.

See these links for additional info:
http://en.wikipedia.org/wiki/JetDirect
http://www.cups.org/documentation.php/network.html

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Add functions for searching for LPD printers

Add pp_host_get_lpd_devices_async() and
pp_host_get_lpd_devices_finish() functions to PpHost class.
pp_host_get_lpd_devices_async() starts searching for LPD printer
on given address.
The test consist in connection to the default port 515 (or the one
given by creator of PpHost) of the address and sending a print job
to it, which in turn returns a status (we test several standard
queue names).
We suppose that there is a LPD printer on the address if a buffer
with zero length is returned (rfc 1179 5.2).

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Allow adding of JetDirect and LPD printers manually

Check the entered address for AppSocket/HP JetDirect and LPD printers.
If there is a printer found, it has a default name which
will be changed right after user selects model of the printer
in the PPD selection dialog.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Add function shift_string_left() and its test

shift_string_left() shifts given string by 1 character to the left.
test-shift.c tests whether function shift_string_left() works correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Strip redundant strings from found devices

Remove strings like "foomatic", "series" from names of found devices.
Remove leading, trailing and recurrent dashes.

https://bugzilla.gnome.org/show_bug.cgi?id=695564
printers: Add test for canonicalize_device_name()

Add a test which tests function canonicalize_device_name() which
canonicalize name of printer model so it doesn't contain
unwanted strings/characters.
Test data are in canonicalization-test.txt file.

https://bugzilla.gnome.org/show_bug.cgi?id=695564