scripts/liberty: Rework how attribute types are discovered. * Add functions for producing different types of values into liberty output (plus doctests for them). * Respect the type given by a `define()` statement. Signed-off-by: Tim 'mithro' Ansell <me@mith.ro>