Fix printing address of packed array
When trying to print the address of a non-packed array, GDB
correctly prints the type name and address:
    (gdb) print &var
    $2 = (access pa.var) 0xbffff1d8
However, it is behaving differently when dealing with a packed
array:
    (gdb) p &var
    (access array (4 .. 8) of boolean <packed: 1-bit elements>) (4 =>
    false, false, false, true, false)
The type description isn't all that bad, but GDB shouldn't be
printing the array value!
This patch fixes the `print` and `ptype` command on packed and
non-packed array.  It also fixes a gdb.ada test to match with
the new ouput.
gdb/ChangeLog (Jean-Charles Delay):
        * ada-typeprint.c (ada_print_type): Fix both PAD type and
        pointer to constrained packed array type output.
        * ada-valprint.c (ada_val_print_1): Fix pointer to constrained
        packed array output.
gdb/testsuite/ChangeLog (Jean-Charles Delay):
        * gdb.ada/packed_array.exp: Fix expected outout.