search: search script as a separate file

* Moves the inline code into a separate javascript.
* Refactors the module to use AMD syntax.
* Fixes the search_list to position itself according to its parent and not some element that may not exist.

```diff
  $('#facet_list').affix({
    offset: {
      top: function () {
-       var $s = $('#search-box-main'),
-       y = $s.offset()['top']
-       return y;
+       return $('#facet_list').closest('.container, .row').offset()['top']
       }
     , bottom: 170
    }
  })
```

Review invitations: @drjova and @kneczaj