Add Devise for authentication

We'll assume that authentication is the responsibility of the
upstream app.  We'll require Devise to function upstream and use it
to verify authentication.

This does not include an access-control mechanism.  We'll address
that in another changeset.

KriKri's application controller requires authentication for all
resources.

This adds a KriKri User model that extends the wrapper
application's User model.
Merge pull request #20 from dpla/add-login

Add login
Update installation information in README.md
Merge pull request #19 from dpla/update-gems-in-readme

Update list of required gems in README.md
Fix spec style
  - Singular factory names
  - Use 'let' statements to assign factories
Merge pull request #22 from dpla/style-fixes

Fix spec style
LDP-NR/OriginalRecord persistence to Marmotta

The latest version of Marmotta changed how `Content-Type` headers are
handled in POST/PUT requests for creating LDP-RS vs. LDP-NR.
`text/plain` is now assumed to be an RDFSource.

We should find a good way to create/maintain LDP-NR's with content
types like `text/plain` and `application/xml`, for which Marmotta will
try to create an LDP-RS. This may be an interaction model thing.

In the meanwhile, OriginalRecords are created with a Content-Type of
`application/octet-stream`.
Merge pull request #16 from dpla/feature/or-persist

Persist OriginalRecord
Fix markdown errors in README.md
Update to marmotta-jetty built on apache/marmotta@da254a79
Merge pull request #24 from dpla/update-marmotta

Update to marmotta-jetty built on apache/marmotta@da254a79
Add development.yml settings file
Merge pull request #26 from dpla/add-development-settings

Add development.yml settings file
Allow OAIHarvesters to pass options to client

Options such as `metadata_prefix` can be passed into the initializer
and/or to individual Harvester methods. Options passed will be
forwarded to the client when building requests.
Merge pull request #27 from dpla/feature/oai-metadata-prefix

Allow OAIHarvesters to pass options to client
Implement a basic mapper

Allows metadata mapping from Krikri::Parser objects to ActiveTriples
(and potentially any ActiveModel) objects.

Adds:

  - Krikri::Mapper -- with a mapping registry and top level methods for
    accessing the DSL (#define) and running mappings on a record or
    array of records (#map).
  - Krikri::Parser -- with an interface for accessing values and
    attributes of OriginalRecords. Also implements a basic XMLParser
    and an initial OAI DC parser.
  - Krikri::MappingDSL -- declares properties and child elements in
    a mapping. Gathers various DSL methods in `lib/krikri/mapping_dsl/`.
Add ActiveTriples::Resource#rdf_subject setter
Enable modification of harvest sources & institutions

- Fill in controllers for harvest sources and institutions,
  and add related views and tests.
- Add validation to HarvestSource model

See https://www.pivotaltracker.com/story/show/82567548
Merge pull request #23 from dpla/feature/abstract-mapper

Implement a basic mapper
Update Marmotta to the 3.3.0 release candidate

* Use new style jettywrapper configuration