Move 'reading tag fields and setting DB attributes' code to LibraryTrack

- Was previously in Library's addFileOrUpdate: function
- Makes more sense to be in the LibraryTrack model class
- Provide two new functions:
  - trackWithFileName:inContext: that creates a new LibraryTrack from a
    given filename (including reading the tag fields).
    - this can return nil if there was an error reading tags (also
      deletes the newly created object too)
  - updateFromFile: that updates the db object from the tag fields
    - this returns a BOOL for the success