fix a bug in build system where it would cause "stack level too deep" error

http://hipbyte.myjetbrains.com/youtrack/issue/RM-112

1) specify file dependencies in Rakefile with `app.files_dependencies' by user.
2) detect file dependencies by build system

When merge 1) and 2), it might cause a cyclic references.
So, we will use 1) to detect cyclic references.
add a feature which support the template
change the template directory path
mac port
use i386 binary Ruby when build app for ARM
change the build directory for outside files of project

This changing will introduce:

1. When run 'rake clean', the object files of gem is not removed. To reduce the time when rebuild the project.
2. Across multiple projects that use the same gem, this changing will share the object files.
3. When update RubyMotion with 'motion update', it will remove the object files to clean up disk space.
fix a bug in detecting file dependencies which cannot detect dependency when declare class/module with like "class XXX::YYY"

use @defined :
	module XXX::YYY
	    ...
	end

use @referred :
	class ZZZ
	  include XXX::YYY
	    ...
	end

add the value to @defined and @referred both,
because build system will cut the cyclic references.
add debug mode
fix projects containing space characters
add menu
pass the build directory as block parameter

Proc does not introduce a variable as Proc's scope.
When build process is worked in parallel, the value of the variable is updated in the another build process.
make sure to create a Resources directory for mac

Fix the following error:

$ motion create hello --template=osx
$ cd hello
$ rm -rf resources
$ rake
     Build ./build/MacOSX-10.8-Development
   Compile ./app/app_delegate.rb
   Compile ./app/menu.rb
    Create ./build/MacOSX-10.8-Development/hello.app/Contents
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS
      Link ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS/hello
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/Info.plist
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/PkgInfo
rake aborted!
No such file or directory - ./build/MacOSX-10.8-Development/hello.app/Contents/Resources
mark file as utf-8
more work on osx template: create empty window, add Credits.rtf file
forget to add a passing argument into another build_file.call
Revert "make sure to create a Resources directory for mac"

This reverts commit 71ed8ce9b3a4e13d492cc1ce383a99924bfbd04d.

This changing causes the following error:
% mkdir -p resources/en.lproj
% touch resources/en.lproj/InfoPlist.strings
% rake
     Build ./build/iPhoneSimulator-6.1-Development
   Compile ./app/app_delegate.rb
    Create ./build/iPhoneSimulator-6.1-Development/tt.app
      Link ./build/iPhoneSimulator-6.1-Development/tt.app/tt
    Create ./build/iPhoneSimulator-6.1-Development/tt.app/Info.plist
    Create ./build/iPhoneSimulator-6.1-Development/tt.app/PkgInfo
      Copy ./resources/Default-568h@2x.png
      Copy ./resources/en.lproj/InfoPlist.strings
rake aborted!
make sure to create a Resources directory for mac

Fix the following error:

$ motion create hello --template=osx
$ cd hello
$ rm -rf resources
$ rake
     Build ./build/MacOSX-10.8-Development
   Compile ./app/app_delegate.rb
   Compile ./app/menu.rb
    Create ./build/MacOSX-10.8-Development/hello.app/Contents
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS
      Link ./build/MacOSX-10.8-Development/hello.app/Contents/MacOS/hello
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/Info.plist
    Create ./build/MacOSX-10.8-Development/hello.app/Contents/PkgInfo
rake aborted!
No such file or directory - ./build/MacOSX-10.8-Development/hello.app/Contents/Resources
more fix in detecting file dependencies

if add the constant name into @defined and @referred in #on_const_path_ref,
it might not detect dependencies.
refactor
add osx repl