fix regexp problem #141
Use correct extension when compiling .js.coffee files

Some very common web frameworks like Rails use double extensions for
files that are precompiled. CoffeeScript source can have an extension
.js.coffee. The assumption is that the compiler writes out a file
which leaves out the last extension. Coffee-mode before would not work
well with this naming, because it would write a file with double
extension .js.js, assuming that extensions need to be switched.

This change looks at the buffer's file name, and if it already has a
.js extension after dropping the .coffee extension, then it does the
right thing and doesn't add one.
Add unit tests

I add unit tests for highlighting, syntax and commands.
Some tests are failed now. Failed tests are:
  - highlighting block comment
  - highlighting regexp literal
  - highlighting prototype access
  - highlighting local assignment without spaces
  - highlighting invalid instance variable

Pull request of #143 fixes block comment and regexp literal issue.
Merge pull request #156 from syohex/add-tests

Add unit tests
Merge pull request #143 from aaa707/master

fix regexp problem #141
Merge pull request #155 from febeling/master

Use correct extension when compiling .js.coffee files
Fix highlighting local assignment without spaces
Update test

Remove invalid instance variable '@123' test because other major
modes highlight such invalid variable.

Add prototype access tests

Remove needless comments
Merge pull request #158 from syohex/update-test

Update test
Merge pull request #157 from syohex/fix-local-assignment-without-spaces

Fix highlighting local assignment without spaces