Replace panels with a table

- Replace panels with a table
- Best->predominant for u_values
- Add new route for loading editing profile html,
- Reuse new profile forms
- Break long URLs
- Upgraded cljs-time

Fixes #521 
Fixes #471 
Fixes #225 
Fixes #127 

Scrolled to the left:
![image](https://cloud.githubusercontent.com/assets/2522010/5429192/cec6a49c-83e2-11e4-9348-b201b9d4c5d8.png)

Scrolled to the right:
![image](https://cloud.githubusercontent.com/assets/2522010/5429194/e72214ae-83e2-11e4-9148-6a9cd98a87c2.png)

(user cannot freeze columns/rows in this PR).

Editing:

![image](https://cloud.githubusercontent.com/assets/2522010/5429213/83c5ec68-83e3-11e4-9fbf-3f3bc7225d78.png)

We have put/post for each table's namespace - should we move all of them to k.h.data? If so, then maybe it would be better to do it as a separate PR?

> On 15 Dec 2014, at 09:56, Bruce Durling <notifications@github.com> wrote:
> 
> In src-cljs/kixi/hecuba/new_profile.cljs:
> 
> > -
> > -                           (and (coll? m) (not (keyword? (first m))))
> > -                           (into (empty m) (filter non-empty? m))
> > -
> > -                           :else
> > -                           m))
> > -                         cursor))
> > -
> > -(defn fix-timestamp [profile]
> > -  (if-let [timestamp (:timestamp profile)]
> > -    (let [raw (tf/parse (tf/formatter "yyyy-MM-dd") timestamp)
> > -          formatted (tf/unparse (tf/formatter "yyyy-MM-dd'T'HH:mm:ss.SSSZ") raw)]
> > -      (assoc profile :timestamp formatted))
> > -    profile))
> > +            [kixi.hecuba.profiles.form :as form]
> > +            [kixi.hecuba.profiles.app-model :as model]))
> >  
> >  (defn post-new-profile [cursor profile]
> Does this want to be in k.t.h.data?
> 
> —
> Reply to this email directly or view it on GitHub.
>