Streamline internal path and plugin directory properties.

Due to the introduction of Grunt (#5160), a few issues have popped up with
BP's internal properties (file, basename, plugin_dir, and plugin_url) being
incorrect for those running trunk.

To address this:

In the stub `bp-loader.php` file:
- We introduce a new constant - `BP_SOURCE_DIRECTORY` - to determine what source folder is being run from trunk.
- `BP_PLUGIN_DIR` and `BP_PLUGIN_URL` are defined so these constants take precedence over the ones in the main bp-loader.php file.
- `BP_PLUGIN_URL` uses a slightly different algorithm to be nice to symlinked directories as `plugin_dir_url()` does not work properly in these instances.

In the main `bp-loader.php file:
- `BP_SOURCE_DIRECTORY` is set to a blank string.
- The `file` and `basename` are calculated based off the `BP_PLUGIN_DIR` constant
- `plugin_dir` and `plugin_url` are set to whatever build is running

Fixes #5652.

git-svn-id: https://buddypress.svn.wordpress.org/trunk@8740 cdf35c40-ae34-48e0-9cc9-0c9da1808c22