allow template function eq to compare equivalent types
Added Test and Benchmark

Had an interesting finding, wen comparing two []byte comparing strings
a stack exception happens also removing the default case did't slow
things down. It seems the compiler optimizes that by itself.
finishing touches

changed the handling of a and b being of similar but uncomparable types
to avoid errors being thrown in vain.
and added rune types so ppl can use 'a'=="a" and {'a','b'}=="ab" and so
on
although it became alot of code for such a utility function i think i
got ir right now.
changed to reflect all the input by robfig

ints are int64, uints are uint64, floats are float64 and []byte is a
string when compared to a string
equal types are handled via reflect.DeepEqual
Tests are more concise and readable now
added checkbox helper
list of changes as per dicussion in https://github.com/robfig/revel/pull/112

removed benchmark
changed test function to use map literal declaration
and simplified declaration of test func
changed doc comment as to use the Function name as start of comment
moved the function to the bottom of the template.go file
Merge branch 'eqenhance' of github.com:Shaban/revel into Shaban-eqenhance
Minor tweaks to comment and test
added checkboxhelper
Merge pull request #115 from Shaban/checkboxhelper

added checkboxhelper
Ensure that GOROOT is not in the GOPATH as well
Fixes #88
Remove template.go:Funcs (backward compatibility)
Update CONTRIBUTING
Link to the contributor-ready issues
Add .DevMode - a boolean to indicate if RunMode is a development mode.

Change the detailed error pages to use that instead of a test against
the RunMode

Fixes #82
add assert equals test method
use reflect deep equal
Merge pull request #118 from nolman/assertequals

add assert equals test method
Move code: Extract some mvc_test into params_test
Permit multi-embedding of *Controller

This (breaking) change:
- Requires that all embeddings of Controller are by pointer
- Performs an exhaustive search of embedded / anonymous fields for
*Controllers to set (previously it only searched in the first field)
- Ensures that all *Controller pointers are set to the same instance.

The goal is to standardize the mechanism of "mixing in" behaviors
(fields, interceptors, etc) by giving each "trait"
(Controller-embedding class that provides shared functionality) access
to the same *Controller, which is accomplished by simply duplicating
the pointers in each type.

The developer should always embed *Controller as the first field when
making either a regular user-facing Controller or one meant for mixing.