Add callback function to Locations and Products store autoload
settings

Prior to this commit, the selectfields on the homepage of the app were
unable to display "empty" options such as "Please choose a product"
because the api did not include this option. This commit adds a
callback function to the stores' autoload settings to insert the
"empty" field option. The text in this option may be changed at
anytime. The valueField option in the home screen was updated to allow
the selectfields to index properly.
Abstract onChooseLocation and onChooseProduct filter functionality to helper function

This commit introduces the filterVendorStore, matchesLocation and
matchesProduct helper functions to break out the filtering
functionality common to the onChooseLocation and onChooseProduct
controller functions. The helper function allows the controller to
'and' the search criteria from the location and product fields on the
home screen.

This commit does not resolve the issue of page initialization. The
home screen still loads with incorrect options for the location and
product select fields.
Add "location" field to the Location model to capture API index data.

Prior to this commit, the location selectField was not properly
indicating which field was already selected. It would highlight
whichever element was first in the store regardless of which field the
user had selected. This behavior is a known bug in the Sencha
framework that occurs when a selectField does not have a default
index or "valueField". This commit leverages the index provided by the
whats-fresh-api to provide this default index (called 'location').
Add store listeners to refresh the home view

Prior to this commit, the Home view would render selectFields before
their stores were finished loading from the API. This commit forces
the product and location stores to fire a 'refresh' event once their
data has been completely loaded and the prompt element ('Please choose
a ...') has been inserted. This commit also introduces corresponding
listeners in the controller to refresh the selectFields once their
stores are ready.
Add search result summary helper function

This commit introduces a helper function, buildInventorySummary(), to
abstract re-implemented tpl-building code in the onChooseLocation and
onChooseProduct functions. This helper function changes the behavior
of the tpl element slightly to include a base case (still provides a
summary when the user has not selected anything).
Merge pull request #40 from osu-cass/bugfix-4034-selectField-empty-item

Bugfix 4034 select field empty item
Merge pull request #41 from osu-cass/search-summary-helper

Add search result summary helper function
Add listener to vendor store to repaint view when API data is properly
loaded.

Prior to this commit, the first time a user would attempt to load the
home screen or press the "Go" button without filtering by any
criteria, the search results would appear empty. This was due to
asynchronous loading in the vendor store. This commit introduces a
listener to the vendor store that repaints the search summary when the
store is loaded from the API.
Merge pull request #42 from osu-cass/feature-4059-bugfix-search-on-page-load

Add listener to vendor store to repaint view when API data is properly
Merge pull request #4 from osu-cass/proto-app-bugfixes

Proto app bugfixes