Cleanup: fixed JSHint warning
Admin app: moved user-specific strings to the top-most component

Part 1/3 of #3348.
Admin app: pass fields as props from the top-most component

Part 2/3 of #3348.
Admin app: added support for arbitrary backends

This also moves the entry point away from users into a generic
`admin/app.js` which will be able to handle any other component type in
the backend.

Part 3/3 of #3348.
Cleanup: reuse index that was already available

Simplifies code and doesn't create any dependencies on the model.
Search component: added propTypes