REGISTRAR, CORE: fixed parsing common name

CORE

- Parse parts of common name only if matcher.find() returns true.
- This cause method to return map with "namePart"=null on no match
  instead of throwing an exception.

REGISTRAR

- Added checks to call parseCommonName() only on non-empty and != null input.
- Do not overwrite "displayName" to "Shib-Person-displayName" as attribute
  name to get from federation values.
REGISTRAR: better pre-fill of user's name

- When filling form item mapped to perun attribute displayName,
  if value is not provided by perun or federation (concrete attribute),
  try to recreate it from parsed name (which is best of displayName,
  cn or givenName+sn).

  So if value is provided by Perun, it's filled.
  If it's provided by federation and present, it's overwritten.
  If it's provided by federation and missing, try to get best
  of all provided attributes (if not set by Perun already).
Merge pull request #559 from zlamalp/displayName

REGISTRAR, CORE: fixed parsing common name