Feature/multiple metadata streams

@jgpawletko, @barnabyalter, @NYULibraries/hydra 

This PR isn't quite ready to be merged but wanted to get some eyes on it.

Highlights:
- Multiple `NyucoreRdfDatastreams`, one for "source" and one for "native"
- Nyucore attribute readers that return both "source" and "native", e.g.

  ```ruby
  pid = 'prefix:pid'
  item = Nyucore.new(pid: pid)
  item.native_metadata.title = 'Native title'
  item.source_metadata.title = 'Source title'
  item.title
  # => ['Source title', 'Native title']
  ```
- Nyucore attribute writers that write to the "native" datastream, e.g.

  ```ruby
  pid = 'prefix:pid'
  item = Nyucore.new(pid: pid)
  item.native_metadata.title
  # => []
  item.title = 'Native title'
  item.native_metadata.title
  # => ['Native title']
  ```
-  Documentation in the form of comments on the Nyucore functionality
- `Nyucore::Metadatum`  that extends `String` to provide insight into the value's datastream 
- Default editor applied at the controller level on creation of an Nyucore
- Expdanded testing coverage for the Nyucore model
- Display "source" metadata as un-editable HTML `<div>`s and "native" metadata as 
- Find or initialize an Nyucore when loading data from source via a ResourceSet::Resource in order to preserve "native" metadata