Merge pull request #7 from strongloop/feature/generic-setup

Make the project structure more generic
package: specify app.js in main for `slc run`

Supervisor needs a main property in the package to find what to run if
there is no top-level server.js or app.js.
package: run `gulp build` in build script

strong-build uses a build script (if it exists) to run custom build
scripts before call `npm pack`.
package: add a .npmignore file

Not strictly necessary for strong-build, but having one is safer and
more explicit.  I also sorted .gitignore, to allow a simple diff of
.gitignore and .npmignore to verify that build products are packed and
non-build files (such as editor ephemera, test output, npm log files,
etc.) are still ignored by npm.
package: use bower at build time