Implement Brackets Portable Build on Mac and Windows

Allows Brackets to be run (eg. from removable media, such as a thumb drive) on any Mac or Windows computer without having to first be installed on that computer.  Implements ["Portable build" user story](https://trello.com/c/sHyY0KlB/1003-portable-build).

To set up a portable build onto a removable media storage device, follow these steps:
1. first install Brackets onto a Mac or Windows machine
2. copy the installed binaries to a new folder on your removable media.  For Mac, copy "/Applications/Brackets Sprint XX.app".  For Windows, copy the folder "\Program Files (x86)\Brackets Sprint XX".
3. in the removable media folder, next to either the .app or .exe file, create a new, empty file, named 'makePortable'

That's it!  You can now run Brackets from that removable media on any other Mac or Windows machine.

Note: you can copy both a Mac and Windows portable build onto the same removable media.  However, please be sure to create two different folders into which you copy each platform's build.

When launched, Brackets will check for the existence of the 'makePortable' file, alongside either the .app or .exe.  If it exists, then the following will occur during program execution:
1. preferences will be read from and saved in the 'Brackets' folder on the removable media;
2. extensions will be installed in and run from the 'Brackets\extensions' folder on the removable media; and
3. (on Windows) window state and size will be saved in 'Brackets\lastWindowState.dat' on the removable media.
see note above.  If the buffer doesn't contain enough data, invalid data, etc... then stream i/o will throw and exception.  You can avoid that by reading/writing the binary structure and it isn't user editable in that case.  You would need to create a struct to store all of this data (plus a signature and version to handle future changes) but that's not much more work.