Added Search engine

Search by
- patient number
- patient name
- test testType
- specimen number
- visit number
closes #30
Search constraints
Search enhancements

localization, view, controller #30
#30

date picker
search tests
Earger-loading for n+1 #30
Search panel enhancements #30
Added button and modal to display result. Fixes #81
Changed relational function names to singular
Added js to pull reason from link data
Changed mode of indicating tests with rejected specimen
Added realistic rejection reasons to seed data.
date picker fix #30
Changed test.details view to show the specimen rejection reason. Removed button.
Spruced up the test.details view.
Merge pull request #82 from ilabafrica/rejection-reason-button

Rejection reason button
Replace digits (1,2, ...) for specimen constants (SPECIMEN_ACCEPTED, ...) in code base.
Moved Specimen status class constants from config file to Model.
sorting empty end-date failure #30 #74
Replaced digits (1,2, ...) for Test class constants (Test::NOT_RECEIVED, ...) in code base.
UI Changes: display of test status on the test.index and test.details views'