Packager assumes wheel to be installed
Took me a while to figure out why Chalice fails to build my deployment package properly in one environment, but not the other. Funnily enough while I was trying to pin all transitive dependencies :(

Chalice appears to use [wheel](https://github.com/aws/chalice/blob/9fe9ddc0423acd202c7e3533b74d14691336d8f7/chalice/deploy/packager.py#L693) regardless of whether wheel is installed in the environment. Should wheel be a setup requirement? Or perhaps include a warning in the "Could not install dependencies..." message?

```
$ python -m venv v1
$ source v1/bin/activate
$ pip install chalice  # wheel not installed
$ chalice new-project v1-test
$ cd v1-test
$ echo "markupsafe" >> requirements.txt
$ chalice package out
Creating deployment package.

Could not install dependencies:
markupsafe==1.0
You will have to build these yourself and vendor them in
the chalice vendor folder.

Your deployment will continue but may not work correctly
if missing dependencies are not present. For more information:
http://chalice.readthedocs.io/en/latest/topics/packaging.html

$ pip install wheel

$ chalice package out       
Creating deployment package.
# Success!
```
diff --git a/setup.py b/setup.py
index 535d52a..81e86c3 100644
--- a/setup.py
+++ b/setup.py
@@ -15,6 +15,8 @@ install_requires = [
     'attrs==17.4.0',
     'enum-compat>=0.0.2',
     'jmespath>=0.9.3,<1.0.0',
+    'wheel',
+    'setuptools'
 ]
 
 setup(
['setup.py']