Bug fixing: dataset objective field is not always updated

- The objective field was always updated if --objective was used. Now
  it is only updated if its value differs from the one previously
  set in the dataset.
Changing function name and new objective function