refactor cf input name and abstract a sub to get it

previously we have to do things like:

    my $input_name = "Object-RT::Ticket-" . $ticket->id . "-CustomField-" . $cf->id .  "-Value";

this is complex enough to be wrapped into a sub, not mentioning that you need
to figure out if it's "-Value" or "-Values". some notes:

* the new sub mimics old naming convention for back compatibility.
* old $NamePrefix is still supported(if the new added arg $Name is not set)
* ...-Values-Magic is widened to ...-Magic(so there will be ...-Value-Magic,
  ...-Upload-Magic, etc because now we simply suffix "-Magic" to the input name)

this commit respects current inconsistent "-Value" vs "-Values" usage, but we
should fix it in the near future:

* cfs with single-value should be named as single "-Value" instead of "-Values"
  e.g. Date, DateTime, single Select with render type "List" and maybe also
  Text and WikiText
* upload cfs(Binary and Image) should be named as "-Uploads" if they are not single-valued.
Merge branch '4.2/cf-input-name-sub' into 4.2-trunk