Tweaking some method names for Sawyer::Optional

* The getOrElse and getOrDefault methods read better in source code
  when they're named orElse and orDefault:

  Object foo = objects.getOptional(key).orElse(bar);
  Object foo = objects.getOptional(key).orDefault();

  Optional<Object> baz = ...;
  if (baz.orElse(bar)) ...;
  if (baz.orDefault()) ...;

* Although containers have getOrElse and getOrDefault, those methods
  are different in that they take a key which is used to select one value
  from many before they do the "orElse" or "orDefault" part of the operation.

  That is,
	Object foo = container.getOrElse(key, bar)
  is shorthand for
	Object foo = container.getOptional(key).orElse(bar);
Renamed Optional apply() to assignTo()

The new name reads better in source code:

	Object foo;
	while (objects.getOptional(key).assignTo(foo)) ...